ch := make(chan int)
// fmt.Println(ch)
ch <- 1
// 输出channel
go func() {
fmt.Println(<-ch)
}()
这是因为ch<- 1 这个操作,是阻塞操作,就是说 遇到了 a<-1 代码就不走了,什么时候代码往下走?必须等到ch里面的消息被读出去才会继续走
可以简单改为:
ch := make(chan int)
// fmt.Println(ch)
go func() {
ch <- 1
}()
// 输出channel
go func() {
fmt.Println(<-ch)
}()
time.Sleep(time.Second*2)