三十八、Go 语言 select 语句

AI-摘要
Tianli GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
三十八、Go 语言 select 语句
云少三十八、Go 语言 select 语句
Go 语言相比于其它语言多了 select 语句这种判断结构
select 语句是 Go 语言的一个控制结构,类似于用于 channel 的 switch 语句
select 语句中的每个 case 语句必须是一个 channel 操作,要么是发送要么是接收
select 语句随机执行一个可运行的 case,如果没有 case 可运行,它将阻塞,直到有 case 可运行
default 语句应该总是可运行的
语法
Go 语言 select 语句语法格式如下
1 | select { |
1、 每个 case 都必须是一个 channel
2、 所有 channel 表达式都会被求值
3、 所有被发送的表达式都会被求值
4、 如果任意某个 channel 可以进行,它就执行;其他被忽略
5、 如果多个 case 都可以运行,select 语句会随机公平地选出一个执行,其他不会执行
否则:
- 如果有 default 子句,则执行该语句
- 如果没有 default 子句,select 将阻塞,直到某个 channel 可以运行;
6、 select 不会重新对 channel 或值进行求值
实例
1 | package main |
编译运行以上 Go 语言范例,输出结果如下
1 | $ go run main.go |
评论
匿名评论隐私政策
TwikooArtalk
✅ 你无需删除空行,直接评论以获取最佳展示效果