select

select语句类型switch语句,但是与switch语句不同的是,switch语句不会阻塞,select语句中如果没有满足条件的case语句出现,则会阻塞,直到出现一条可以执行的case语句为止,如果有多条可执行的case语句,则随机选择一条执行。

select

参考资料:

http://www.runoob.com/go/go-select-statement.html

如上图所示,创建通道的时候,如果使用无缓冲通道,那么直接往里面写数据就会导致以下错误,因为无缓冲通道是阻塞的,即如果往里写一个数据,如果通道另外一端没有事先从通道里面取数据,就会导致阻塞。

select

参考资料:

https://studygolang.com/articles/6047