func main() { c := make(chan int) go func() { for i := 0; i < 10; i++ { c <- i fmt.Println("qqqq") } }() for n := 0; n < 5; n++ { fmt.Println("main", <-c) } } 打印结果是什么
func main() { c := make(chan int) go func() { for i := 0; i < 10; i++ { c <- i fmt.Println("qqqq") } }() for n := 0; n < 5; n++ { fmt.Println("main", <-c) } } 打印结果是什么
func main() {
c := make(chan int)
go func() {
for i := 0; i < 10; i++ {
c <- i
fmt.Println("qqqq")
}
}()
for n := 0; n < 5; n++ {
fmt.Println("main", <-c)
}
} 打印结果是什么

张家俊
2025年01月31日
|
浏览 129
打印结果可能是:
main 0
qqqq
main 1
qqqq
main 2
qqqq
main 3
qqqq
main 4
这是由于在主函数中循环5次打印从通道 c 中接收的值,而在另一个 goroutine 中向通道 c 中发送了 10 个值,并且每次发送后都会打印 “qqqq”。因此,前5次接收到的值是 0 到 4,每次接收后都会打印 “qqqq”。
我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;
