go select

select的用法与switch非常类似,由select开始一个新的选择块,每个选择条件由case语句来描述。与switch语句可以选择任何可使用相等比较的条件相比,select有比较多的限制,其中最大的一条限制就是每个case语句里必须是一个IO操作,确切的说,应该是一个面向channel的IO操作。

ch1 := make(chan int, 1)

ch2 := make(chan int, 1)

ch1 <- 1

select {

    case e1 := <-ch1:

        //如果ch1通道成功读取数据,则执行该case处理语句

        fmt.Printf("1th case is selected. e1=%v", e1)

    case e2 := <-ch2:

        //如果ch2通道成功读取数据,则执行该case处理语句

        fmt.Printf("2th case is selected. e2=%v", e2)

    default:

        //如果上面case都没有成功,则进入default处理流程

        fmt.Println("default!.")

}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Go里面的一个关键字,用于监听channel上的数据流动。select语句里面的每条case语句必须是一个IO操作...
    骑蜗上高速阅读 2,224评论 0 0
  • golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当...
    builderfa阅读 3,395评论 0 0
  • select是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要...
    嘉磊阅读 3,030评论 0 1
  • select的用法与switch非常类似,由select开始一个新的选择块,每个选择条件由case语句来描述。与s...
    副班长国伟阅读 8,600评论 0 3
  • 分离, 总有预兆的, 相逢时就已埋下的种子, 如同鲜花, 被种下的那一刻, 就已注定枯萎的结果, 我愿种下鲜花, ...
    暮色柒光年外阅读 1,886评论 0 7

友情链接更多精彩内容