原文:《go并发编程实战》
- select 常与匿名函数连用,以便不阻塞主程序。
- select 常与for循环连用,以便不停的接收消息。
- 通道要在发送方关闭,而不要在接收方关闭
func main(){
//缓冲通道
ch11 := make(chan int,1)
go func(){
ok := true
for{
select{
case e,ok := <- ch11:
if !ok{
fmt.Println("end")
} else{
fmt.Println(e)
}
}
if !ok {
break
}
}
}()
}
网友评论