我學習了 Go 中的緩沖通道,但有些魔法對我來說是隱藏的。我有這個代碼package mainimport ( "fmt")func write(ch chan int) { for i := 1; i <= 5; i++ { ch <- i fmt.Printf("Channel's length is %d\n", len(ch)) } close(ch)}func main() { ch := make(chan int, 2) go write(ch) for v := range ch { fmt.Println(v) }}輸出是Channel's length is 0Channel's length is 1Channel's length is 21234Channel's length is 2Channel's length is 05為什么 write goroutine 中第一次迭代的通道長度為零?我不知道什么?
添加元素后通道長度為零
ibeautiful
2023-07-26 13:33:29