<6> go select 和 switch

原创 2015年11月20日 12:06:11

select和switch语法都能相近,但是有重要不同的一点,switch可以做表达式的比较判断,而select只能是io操作的判断。相同点:都能用return跳出来。

// switch
i := 1
switch{
    case i==1: //doing
    case i==2: //doing
    default: // doing
}

//select

ch := make(chan ,bool)
select {
    case <- ch: // doing 当ch有值的时候,会触发这个case
    default: // doing
}

go语言选择语句 switch case

根据传入条件的不同,选择语句会执行不同的语句。下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0...
  • wangkai_123456
  • wangkai_123456
  • 2017年03月15日 17:08
  • 612

【golang】Go语言学习-select用法

golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。 示例: ch1 := make (chan ...
  • zhonglinzhang
  • zhonglinzhang
  • 2015年05月22日 09:47
  • 14272

Golang select的使用及典型用法

Golang select的使用及典型用法基本使用 select是Go中的一个控制结构,类似于switch语句,用于处理异步IO操作。select会监听case语句中channel的读写操作,当cas...
  • zhaominpro
  • zhaominpro
  • 2017年08月25日 11:57
  • 206

Golang中Switch的使用

跟一般语言的Switch有点不一样,Golang在使用两个case的时候,是第一个是不生效的。 如下的代码 switch (type) { case 1: case 2: return "...
  • sydbfhwj
  • sydbfhwj
  • 2016年08月10日 23:05
  • 2902

Go语言 Select 详细解读

Go Select 详解select语句让多个channel操作等待Go的select语句让程序线程在多个channel的操作上等待,select语句在goroutine 和channel结合的操作中...
  • GreatElite
  • GreatElite
  • 2017年02月16日 12:11
  • 2876

GO select用法详解

golang 的 select 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。  在执行select语句的时候,运行时系统会自上而下地判断每个case中的发送或接收操作是否可以被立即执行...
  • wo198711203217
  • wo198711203217
  • 2017年03月23日 15:40
  • 5030

Go语言的for和switch

package main import ( "fmt" ) //switch例子,比较返回两个字节数组字典数序先后的整数。 func Compare(a,b []byte) int{ for...
  • u013058160
  • u013058160
  • 2016年07月11日 14:50
  • 129

Go select 语句

select是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收。select随机执行一个可运行的case。如果没有case可运行,它将阻塞,...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2017年12月03日 20:12
  • 143

Golang的select/非缓冲的Channel实例详解

select golang 的 select 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。 在执行select语句的时候,运行时系统会自上而下地判断每个case中的发送或接...
  • grassroots2011
  • grassroots2011
  • 2015年10月30日 21:19
  • 6735

go里面select-case和time.Ticker的使用注意事项

上周末参加Go技术聚会,京东的美女工程师讲到一个select-case和time.tick的坑,觉得很有意思,记录一下。 package main import ( "fmt" "runtime...
  • wk3368
  • wk3368
  • 2015年01月13日 16:47
  • 1184
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:<6> go select 和 switch
举报原因:
原因补充:

(最多只允许输入30个字)