Go 通道阵列
我的任务是使用通道阵列 我不明白。为什么这不起作用Go 通道阵列,go,channel,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) } 主程序包 输入“fmt” func run(){ chann[0]您已初始化通道数组,但未初始化通
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)
}
主程序包
输入“fmt”
func run(){
chann[0]您已初始化通道数组,但未初始化通道本身
至于它死锁的原因,这是因为一个尚未初始化或已设置为nil的通道值将始终被阻塞。(参见此)谢谢。出于某种原因,我认为make也会初始化所有元素