我有一个任务要使用 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)
}
最佳答案
您已经初始化了 channel 数组,但还没有初始化 channel 本身。
至于为什么会死锁;这是因为 channel 值未初始化或设置为 nil 将始终阻塞。 (参见此 article)
关于go - channel 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21194690/