Go chan 为啥没有判断 close 的接口

相信大家初学 golang chan 的时候应该都遇到过 “ send on closed channel “ 的 panic 。

golang面试官最喜欢问的chan问题

常见姿势从一个nil的chan接收数据会deadlockfunc main() { var a chan int fmt.Println(<-a)}fatal error: all goroutines are asleep – deadlock!

golang chan简介

无缓冲chan进和出都会阻塞.有缓冲chan先进先出队列, 出会一直阻塞到有数据, 进时当队列未满不会阻塞, 队列已满则阻塞.selectselect 先遍历所有case, 所有channel表达式都会被求值、所有被发送的表达式都会被求值。求值顺序:自上而下、从左到右.