我有一个使用通道数组的任务.

我不明白.为什么这不起作用?

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的通道值将始终阻止. (见这article)