问答详情
源自:7-4 Go语言-select语句

第三次循环不明白

以下是我的理解,问题再第三次循环上没想通,求指导:

第一次循环走的是default是因为通道是空

第二次循环走的是case,因为第一次循环后插入了值通道有一个缓存,并未取出

第三次循环走的为什么还是case?通道虽然关闭里但是可以读我明白,可是通道的值在第二次循环被取出了,通道在第三次循环不应该是空嘛,如果为空为什么没走default?而是走了case,case不应该实在通道不为空的情况下可以走嘛??


求指导 !多谢!

提问者:慕仰5549039 2018-08-31 16:57

个回答

  • 慕粉1473588917
    2019-08-20 17:39:08

    <- ch4 应该是取出了值吧,可以去测试一下

  • 想不睡
    2018-09-01 10:30:18

    第二次通道的值不是被取出,只是被读取,里面还是有值,第三次因为通道关闭了无法读取