Golang 选择语句
在Go语言中,选择语句与switch语句一样,但在选择语句中,case语句指的是通信,即通道上的发送或接收操作。
语法:
要点:
- 选择语句会等待通信(发送或接收操作)准备好的某些情况下才开始。
例子:
- 输出:
- 解释: 在上面的程序中,portal 1睡了3秒,portal 2睡了9秒,在他们的睡眠时间结束后,他们将准备进行。现在,选择语句等待他们的睡眠时间,当门户1醒来时,它选择案例1并打印出 “欢迎来到频道1″。如果门户2在门户1之前醒来,那么输出是 “欢迎来到频道2″。
-
如果一个select语句不包含任何case语句,那么这个select语句会永远等待。
语法:
- 例如:
- 输出:
- 选择语句中的默认语句是用来保护选择语句不被阻塞的。当没有case语句准备进行时,该语句会执行。
例子:
- 输出:
-
选择语句的阻塞是指当没有case语句准备好,并且选择语句不包含任何默认语句时,那么选择语句阻塞,直到至少有一个case语句或通信可以进行。
例子:
- 输出:
- 在选择语句中,如果有多个案例准备进行,那么可以随机选择其中一个。
例子:
- 输出: