1. 首页
  2. 主题
  3. Go问与答

萌新求教一个关于chan的问题,应该不会占用太多时间。想了好久,求大神解惑!

AlanLiu0328 · · 1515 次点击
![image.png](https://static.studygolang.com/190704/f138f8320eb7f9fa6062513ee4ad44fa.png) 问题一:第27行执行完,由于ch一直阻塞着,由于29行还未执行,所以应该会立刻发送一个随机数给ch吧?但是我发现第30行是有概率打印出0的,这是为什么呢? 问题二: 如果注释掉29行,改用28行关闭done。那么30行永远打印0。可是select不是随机执行case语句的么?为什么一旦done有输入了,就会执行第二条case呢? 请大神讲解一下chan的原理,坐等,非常感谢!!
我不厉害,我也不会给人瞎说。误人子弟
#7
更多评论
27行执行结束,29行就有可能立马执行了。case没有加break,会继续执行下一句。所以你for一次就结束了。而且你代码直接放图片,为什么不直接贴代码,也方便别人直接测试。
#1
case 没有加break 会执行下一个?are you kidding?
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中