文档章节

go select语句

qii
 qii
发布于 2016/08/12 10:50
字数 117
阅读 14
收藏 0

看介绍说,go的select与switch类似。但其实有很大不同

switch执行是顺序的,而select是随机选择:

package main

import (
   "fmt"
)

func main() {
   c1:=make(chan int,1024)
   c2:=make(chan int,1024)

   for i:=0;i<1000;i++{
      c1<-1
      c2<-1
      fmt.Println("i===",i)
      select{
      case <-c1:
         fmt.Println("from c1")
      case <-c2:
         fmt.Println("from c2")
      }
   }
}

结果:

i=== 0
from c1
i=== 1
from c2
i=== 2
from c1
i=== 3
from c1
i=== 4
from c2
i=== 5
from c2
i=== 6
from c2
i=== 7
from c1
i=== 8
from c1
i=== 9

© 著作权归作者所有

共有 人打赏支持
上一篇: go执行定时任务
下一篇: go for select
qii

qii

粉丝 13
博文 77
码字总数 23520
作品 0
昆明
高级程序员
私信 提问
linq学习笔记(5):Count/Sum/Min/Max/Avg

Count/Sum/Min/Max/Avg用于统计数据,比如统计一些数据的个数,求和,最小值,最大值,平均数。 1.Count:返回集合中的元素个数,返回INT类型;不延迟。生成SQL语句为:SELECT COUNT(*) FROM ...

长平狐
2013/06/17
96
0
Mycat防火墙配置:IP白名单和 SQL黑名单说明

server.xml文件 firewall标签用来定义防火墙;firewall下whitehost标签用来定义 IP白名单 ,blacklist用来定义 SQL黑名单。 黑名单拦截明细配置 配置项 缺省值 描述 selelctAllow true 是否允...

坦途abc
09/04
0
0
Go基础编程:并发编程—select

1 select作用 Go里面提供了一个关键字select,通过select可以监听channel上的数据流动。 select的用法与switch语言非常类似,由select开始一个新的选择块,每个选择条件由case语句来描述。 ...

tennysonsky
01/16
0
0
SQL.WITH AS.公用表表达式(CTE)

一.WITH AS的含义 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可。如果WIT...

赵帅A
2016/03/04
13
0
linq学习笔记(4):Select/Distinct

我们利用VS2008来创建DataContext,首先,右键点击项目,选择添加新项,然后选择“Linq to sql 类”,命名为Northwind.dbml。然后打开Northwind.dbml。设计视图上的文字提示你可以从服务器资...

长平狐
2013/06/17
85
0

没有更多内容

加载失败,请刷新页面

加载更多

border实现等高布局

效果图 实现上图效果的全部html+css代码 <div class="box"> <nav> <h3 class="nav">导航1</h3> <h3 class="nav">导航2</h3> </nav> <section> <div cla......

呵呵闯
17分钟前
0
0
MaxCompute 表(Table)设计规范

表的限制项 表(Table)设计规范 表设计主要目标 表设计的影响 表设计步骤 表数据存储规范 按数据分层规范数据生命周期 按数据的变更和历史规范数据的保存 数据导入通道与表设计 分区设计与逻辑...

阿里云云栖社区
23分钟前
0
0
局域网共享文件读写的实现方式

代码片段 首先是设置共享目录,支持用户和密码等权限控制 然后我们可以使用Windows资源管理器操作共享目录下的文件 这中间隐藏了资源管理器帮我们建立目录映射和连接的过程,如果设置了用户名...

夏至如沫
32分钟前
4
0
Elasticsearch安装与配置

一、Docker安装ES 开发模式 可以使用以下命令快速启动Elasticsearch以进行开发或测试: $ docker run -p 9200:9200 -p 9300:9300 -d --name es -e "discovery.type=single-node" docker.ela...

吴伟祥
39分钟前
3
0
移动页面滚动穿透解决方案(荐)

移动页面滚动穿透解决方法目前有多种解决方案,我介绍下几种方案: 解决方案1:阻止冒泡。 //关键代码$(".sliders,.modals").on("touchmove",function(event){    event.preventDefau...

壹峰
39分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部