c := make(chan int) go func() { for i := 0; i < 10; i++ { c <- i fmt.Println("go", i) } }() for n := 0; n < 9; n++ { fmt.Println("main", <-c) }
c := make(chan int) go func() { for i := 0; i < 10; i++ { c <- i fmt.Println("go", i) } }() for n := 0; n < 9; n++ { fmt.Println("main", <-c) }
c := make(chan int)
go func() {
for i := 0; i < 10; i++ {
c <- i
fmt.Println("go", i)
}
}()
for n := 0; n < 9; n++ {
fmt.Println("main", <-c)
}

张家俊
2025年01月31日
|
浏览 89
答案是什么:这段代码将创建一个整型类型的通道c
,然后启动一个 goroutine,该 goroutine 会循环10次将 i
的值发送到通道c
中,并在每次发送后打印"go"和i
的值。接着在主 goroutine 中循环9次从通道c
中接收数据,并在每次接收后打印"main"和接收到的值。由于 goroutine 中会发送10次数据,而主 goroutine 中只接收9次,因此最终会导致通道阻塞。
我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;