select 语句使得一个 goroutine 在多个通讯操作上等待。

select 会阻塞,直到条件分支中的某个可以继续执行,这时就会执行那个条件分支。当多个都准备好的时候,会随机选择一个。

package main

import "fmt"

func fibonacci(c, quit chan int) {
x, y := 0, 1
for {
select {
case c <- x:
x, y = y, x+y
case <-quit:
fmt.Println("quit")
return
}
}
}

func main() {
c := make(chan int)
quit := make(chan int)
go func() {
for i := 0; i < 10; i++ {
fmt.Println(<-c)
}
quit <- 0
}()
fibonacci(c, quit)
}

go语言开发交流qq群 857263711

保持进步
希望每个人都能找到自己喜欢的方式生活、工作。

最新文章

  1. (转)清理AIX的/var文件系统大小
  2. C# 非托管内存使用时的注意事项
  3. java集合类(二)
  4. 关于DWZ模板中全选的使用
  5. Windows的命令行查看,修改,删除,添加环境变量
  6. [super init]方法的调用
  7. Jquery each 的跳出 break continue
  8. ASP.NET Web基本原理
  9. 支付宝支付php的demo或sdk报错 Warning: openssl_sign() [function.openssl-sign]: Unknown signature algorithm. in
  10. 关于 LindedList 我想说
  11. 使用SoapUI调用Vsphere Web Service
  12. JNI C反射调用java方法
  13. hdu 2476&quot;String painter&quot;(区间DP)
  14. JAVA核心技术I---JAVA回顾
  15. ELK之安装了search guard认证后安装elasticsearch-head
  16. [转]java 下载网络上的图片并保存到本地目录
  17. FTP-IIS Web
  18. WEB前端常用JavaScript代码整理
  19. python高级(五)—— python函数(一等对象)
  20. Java类加载器ClassLoader总结

热门文章

  1. ubuntu之路——day10.5 可避免偏差
  2. [RK3399] ES8316+NS4150 播放视频只有背景音,播放歌曲有的有声音,有的无声音
  3. Tensorflow 2 Cifar10离线数据集手动下载、离线安装、本地加载、快速读取
  4. Android 关于selector中item顺序的问题
  5. JEECG MiniDao优劣
  6. GPRS以TCP上传数据到服务器OK,但收不到服务器下发的数据
  7. 谷歌官方 构建您的第一个应用 Kotlin版
  8. shell编程系列19--文本处理三剑客之awk中的字符串函数
  9. pytorch模型存储的两种方式
  10. pytorch设置多GPU运行的方法