我正在按自己的時間學習 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 關注
- 190 瀏覽
添加回答
舉報
0/150
提交
取消