package main
import "fmt"
func main() {
// 初始化channel
// channel在使用之前,必须进行make初始化
// 否则,它会是一个nil
ch := make(chan int)
// fmt.Println(ch)
// 输出channel
go func() {
fmt.Println(<-ch)
}()
// 输入channel
ch <- 1
// 关闭channel
close(ch)
fmt.Println(ch)
// ch <- 2
<-ch
}
这样运行是ok的。为什么把ch <- 1 挪到 go func() {
fmt.Println(<-ch)
}()前就报错 死锁尼