【发布时间】:2016-02-08 23:15:06
【问题描述】:
下面这段代码为什么会报错?
func main() {
messages := make(chan string)
messages <- "test" //line 16
fmt.Println(<-messages)
}
产生以下错误。
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan send]:
main.main()
/tmp/sandbox994400718/main.go:16 +0x80
一个值被发送到通道,并在下一行被接收。从技术上讲,它应该可以工作。
【问题讨论】: