【发布时间】:2019-07-26 15:21:39
【问题描述】:
以下是代码;
package main
import "fmt"
func main() {
func1(1)
}
func func1(n int) {
ch := make(chan int)
ch <- 1
for i := range ch {
fmt.Println(i)
fmt.Println(<-ch)
}
}
当我尝试执行这段代码时,它会抛出以下错误;
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan send]:
main.func1(0x1, 0x432070)
/tmp/sandbox451742015/main.go:11 +0x60
main.main()
/tmp/sandbox451742015/main.go:6 +0x20
【问题讨论】:
标签: go concurrency deadlock channel goroutine