标签: go channel
我有一个使用频道数组的作业。
我不明白。为什么这不起作用?
package main import "fmt" func run() { chann[0] <- 1 } var chann = make([]chan int, 2) func main() { go run() obj := <- chann[0] fmt.Println(obj) }
答案 0 :(得分:7)
您已初始化了频道数组,但没有初始化频道本身。
至于它为何陷入僵局;这是因为尚未初始化或已设置为nil的通道值将始终阻止。 (见article)