go select 的default
2024-08-26 23:22:07
当 select
中的其他条件分支都没有准备好的时候,`default` 分支会被执行。
为了非阻塞的发送或者接收,可使用 default
分支:
select {
case i := <-c:
// 使用 i
default:
// 从 c 读取会阻塞
} --------------------
package main
import (
"fmt"
"time"
)
func main() {
tick := time.Tick(100 * time.Millisecond)
boom := time.After(500 * time.Millisecond)
for {
select {
case <-tick:
fmt.Println("tick.")
case <-boom:
fmt.Println("BOOM!")
return
default:
fmt.Println(" .")
time.Sleep(50 * time.Millisecond)
}
}
}
最新文章
- 双系统先装Windows,后装linux的原因
- 使用JQuery Ajax请求,在Controller里获取Session
- C#以管理员身份运行程序
- 【Java每日一题】20161124
- jquery serialize()方法可以序列化表单值为字符串
- 在Fedora 20 上安装Mysql并初始化root密码
- Light OJ 1032
- Linux之date
- 《objective-c基础教程》学习笔记(十一)—— 类别
- codevs 4650 破损的键盘(链表)
- 使用反射类、Class类获取指定的构造器并实例化对象
- [html] 学习笔记-Canvas图形绘制处理
- 手机自动化测试:appium问题解决
- 微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等
- JSON基础知识点
- c/c++ 标准库 插入迭代器 详解
- eclipse自动编译
- MVC的WebViewPage
- Codeforces 670F - Restore a Number - [字符串]
- node nightmare 网页自动化测试 sample