我正在按自己的时间学习 Go。通过教程。查看下面的代码,无法弄清楚它是如何停止执行的。有人愿意帮忙吗?package mainimport ( "fmt")func main() { ch1 := make(chan int, 2) ch1 <- 1 ch1 <- 2 ch2 := make(chan int, 2) ch2 <- 3LOOP: for { select { case v1 := <-ch1: fmt.Println("chan1 val", v1) case v2 := <-ch2: fmt.Println("chan2 val", v2) default: break LOOP } }}
2 回答
慕后森
TA贡献1802条经验 获得超5个赞
当其他情况都没有准备好时,选择default
a的情况。select
从两个通道读取所有内容后,它们都没有准备好,因此default
选择了 case,这会中断循环。
- 2 回答
- 0 关注
- 159 浏览
添加回答
举报
0/150
提交
取消