文档章节

go select语句

qii
 qii
发布于 2016/08/12 10:50
字数 117
阅读 14
收藏 0
点赞 0
评论 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

© 著作权归作者所有

共有 人打赏支持
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 ⋅ 0

Go基础编程:并发编程—select

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

tennysonsky ⋅ 01/16 ⋅ 0

SQL.WITH AS.公用表表达式(CTE)

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

赵帅A ⋅ 2016/03/04 ⋅ 0

oracle学习日记(2)

继续学习oracle。 UNION操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 ...

SnO_opy ⋅ 2014/03/06 ⋅ 0

linq学习笔记(4):Select/Distinct

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

长平狐 ⋅ 2013/06/17 ⋅ 0

SQL Server2005杂谈(5):将聚合记录集逆时针和顺时针旋转90度(行列互换)

本文为原创,如需转载,请注明作者和出处,谢谢! 上一篇:SQL Server2005杂谈(4):按列连接字符串的三种方法 在输出统计结果时可能需要将列变成行,而将聚合结果(如count、sum)作为记录...

最美的回忆 ⋅ 2017/11/29 ⋅ 0

Sql培训考题----初级

为什么说SQL是一种非过程型语言? 答案:SQL是一种所见既所得到的语言,在执行SQL语句中如果写好了SQL语句,就能按照需求写出或者查询出相应的数据信息,例如INSERT、DELETE、UPDATE决定了去...

liangjw0504 ⋅ 2014/02/27 ⋅ 0

浅析MySQL中exists与in的使用

exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录,反之如...

晓菲 ⋅ 2015/12/30 ⋅ 0

MySQL数据库基础知识学习笔记(三)

SQL语句实战——DML语句(重点) 选择:select * from table1 where 范围 插入:insert into table1(filed1,filed2)values (filed1,filed2) 解释:filed1,filed2 字段名;filed1,filed2字段...

dusuqin ⋅ 04/19 ⋅ 0

Mysql 分页语句Limit用法

1、Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。 SELECT * FROM table LIMIT [off...

李有常 ⋅ 2015/08/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

解决yum安装报错Protected multilib versions

使用yum安装报错Protected multilib versions原因是因为多个库不能共存,不过更新的话也并不行,但是可以在安装命令后面加上如下一段命令: --setopt=protected_multilib=false 案例: 比如需...

北岩 ⋅ 15分钟前 ⋅ 0

为什么要学习Typescript???

简单来说 目前的typescript就是未来的javascript 为什么?? 这要从ECMA-262标准的第4版说起 对了 我们说的ES5 其实是ECMAScript3.1这个替代性建议被扶正了而已... 那么 第4版标准是什么? 看看...

hang1989 ⋅ 19分钟前 ⋅ 0

linux安装ipfs

一、下载ipfs # cd /usr/local/ipfs/ # wget https://dist.ipfs.io/go-ipfs/v0.4.15/go-ipfs_v0.4.15_linux-amd64.tar.gz # tar -zxvf go-ipfs_v0.4.15_linux-amd64.tar.gz 二、安装ipfs # ......

八戒八戒八戒 ⋅ 25分钟前 ⋅ 0

jvm程序执行慢诊断手册

生产环境最多的几种事故之一就是程序执行慢,如果是web服务的话,表现就是响应时间长。本文分享,从业多年形成的排查守则。 诊断步骤 系统资源查看 首先是系统资源查看,而且必须是在第一步。...

xpbob ⋅ 25分钟前 ⋅ 0

YII2 advanced 高级版本项目搭建-添加API应用以及多应用

一、YII安裝 安裝yii可以用composer安裝,也可以在yii中文社区下载归档文件安装 composer安装就不介绍了,因为要安装composer,比较麻烦,当然安装了composer是最好的,以后安装yii的插件要用...

botkenni ⋅ 26分钟前 ⋅ 0

在jdk1.8的环境下模拟永久代内存溢出

相信不少小伙伴在看深入理解Java虚拟机的时候,作者给我们举例一个demo来发生PermGen space 1、通过List不断添加String.intern(); 2、通过设置对应的-XX:PermSize与-XX:MaxPermSize(更快看到...

虾几把写 ⋅ 52分钟前 ⋅ 0

开发OpenDaylight组件的完整流程

在前面介绍学习了OpenDaylight的几个重要模块后,这里再来介绍下完整开发一个模块的过程。 OSGI的bundles提供被其他OSGI组件调用的服务。这个教程中展示的是Data Packet Service去解析数据包...

wangxuwei ⋅ 今天 ⋅ 0

Java序列化和反序列化

1、什么是序列化和反序列化 序列化:把对象转换为字节序列的过程。 反序列化:把字节序列恢复成对象的过程。 2、被序列化的类需要实现serializable接口,只是为了标注该对象是可以被序列化的...

IT-Mamba ⋅ 今天 ⋅ 0

流式构建原理

流式构建需要达到分钟级的数据更新频率,Kylin采用类似于Spark Streaming的做法,每隔数分钟进行一次微构建。这边的构建需要考虑到一个延迟因素,分布式网络存在延迟等因素,该时间段的数据有...

无精疯 ⋅ 今天 ⋅ 0

在maven项目工程编写solr代码,需要的依赖

solrJ <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>6.6.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents<......

爱运动的小乌龟 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部