当 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)
}
}
}

最新文章

  1. 双系统先装Windows,后装linux的原因
  2. 使用JQuery Ajax请求,在Controller里获取Session
  3. C#以管理员身份运行程序
  4. 【Java每日一题】20161124
  5. jquery serialize()方法可以序列化表单值为字符串
  6. 在Fedora 20 上安装Mysql并初始化root密码
  7. Light OJ 1032
  8. Linux之date
  9. 《objective-c基础教程》学习笔记(十一)—— 类别
  10. codevs 4650 破损的键盘(链表)
  11. 使用反射类、Class类获取指定的构造器并实例化对象
  12. [html] 学习笔记-Canvas图形绘制处理
  13. 手机自动化测试:appium问题解决
  14. 微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等
  15. JSON基础知识点
  16. c/c++ 标准库 插入迭代器 详解
  17. eclipse自动编译
  18. MVC的WebViewPage
  19. Codeforces 670F - Restore a Number - [字符串]
  20. node nightmare 网页自动化测试 sample

热门文章

  1. Python之pygame学习绘制文字制作滚动文字
  2. Spatial-Temporal Relation Networks for Multi-Object Tracking
  3. 回声消除(AEC)原理
  4. 使用NGINX+LUA实现WAF功能 和nginx 防盗链
  5. ModSecurity:一款优秀的开源WAF
  6. openresty开发系列15--lua基础语法4表table和运算符
  7. Spark累加器(Accumulator)
  8. libfacedetection
  9. ibatis 参数 指定类型
  10. Nginx负载均衡-如何自定义URL中的hash key