我有一个使用通道数组的任务。
我不明白。为什么这不起作用?
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)
}
您已经初始化了通道数组,但尚未初始化通道本身。
至于为什么会死锁;这是因为一个尚未启动或已设置为nil的通道值将始终阻塞。(请参阅此文章)