【问题标题】:Array of channels通道阵列
【发布时间】:2014-02-07 07:15:27
【问题描述】:

我有一个使用频道数组的任务。

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

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)
}

【问题讨论】:

    标签: go channel


    【解决方案1】:

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

    至于为什么会死锁;这是因为未初始化或已设置为 nil 的通道值将始终阻塞。 (见article

    【讨论】:

    • 谢谢。出于某种原因,我认为 make 也会初始化所有元素
    猜你喜欢
    • 2016-05-24
    • 2022-11-19
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多