Go 语言 select 语句

Go 语言 select 语句,第1张

概述select是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信 *** 作,要么是发送要么是接收。 select随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。一个默认的子句应该总是可运行的。 语法 Go 编程语言中 select 语句的语法如下: select { case communication clause :

select是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信 *** 作,要么是发送要么是接收。

select随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。一个默认的子句应该总是可运行的。

语法

Go 编程语言中 select 语句的语法如下:

select {    case communication clause  :       statement(s);               /* 你可以定义任意数量的 case */default /* 可选 */}

以下描述了 select 语句的语法:

每个case都必须是一个通信 所有channel表达式都会被求值 所有被发送的表达式都会被求值 如果任意某个通信可以进行,它就执行;其他被忽略。 如果有多个case都可以运行,Select会随机公平地选出一个执行。其他不会执行。
否则: 如果有default子句,则执行该语句。 如果没有default字句,select将阻塞,直到某个通信可以运行;Go不会重新对channel或值进行求值。 实例
package mainimport "fmt"func main()   var c1, c2 c3 chan int i1 i2        i1 =<-c1         fmt.Printf("received "" from c1\n") c2  i2"sent "" to c2\n" i3 ok :=(<-c3):  // same as: i3,ok := <-c3         if            fmt" from c3\n"         } else"c3 is closed\n"default"no communication\n"       以上代码执行结果为:

no communication

原文地址:http://www.runoob.com/go/go-select-statement.html?from=timeline


个人微信公众号:



作者:jiankunking 出处:http://blog.csdn.net/jiankunking

总结

以上是内存溢出为你收集整理的Go 语言 select 语句全部内容,希望文章能够帮你解决Go 语言 select 语句所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1273119.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存