Golang。通道数组

时间:2014-01-17 19:54:46

标签: 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)
}

1 个答案:

答案 0 :(得分:7)

您已初始化了频道数组,但没有初始化频道本身。

至于它为何陷入僵局;这是因为尚未初始化或已设置为nil的通道值将始终阻止。 (见article