有人可以向我解释为什么第一个代码运行但第二个代码失败?
第一 :
func main() {
channel := make(chan int)
go demo(channel)
num := <-channel
println(num)
}
func demo(channel chan int) {
channel <- 2
}
第二个:
func main() {
demo()
}
func demo() {
channel := make(chan int)
channel <- 2
num := <-channel
println(num)
}
在第二个中,我在演示功能中从通道中获取输入,但它仍然会造成死锁,有人可以简要解释一下吗?我可以看到,当我在同一范围内调用通道时,它会导致问题。
智慧大石
繁星淼淼
相关分类