参考答案
结论:Go中channel用于goroutine通信,通过make创建,<-收发。6典型:同步等待(无缓冲channel阻塞主协程至子协程发done);数据传递(ch<-data与<-ch);扇出扇入(多worker读同channel,结果汇另一channel);超时控制(select{<-ch; <-time.After(1s)});关闭广播(close(ch)后接收者得零值);工作池(缓冲channel分发任务控并发)。原理:channel内部有锁和等待队列,无缓冲同步交接,有缓冲异步;单向channel增类型安全。