阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

go特殊的关键字select作用介绍

34次阅读
没有评论

共计 515 个字符,预计需要花费 2 分钟才能阅读完成。

导读 在 golang 语言中,select 语句 就是用来监听和 channel 有关的 IO 操作,当 IO 操作发生时,触发相应的 case 动作。有了 select 语句,可以实现 main 主线程 与 goroutine 线程 之间的互动。

go 有一个特殊的关键字 select,它允许用户从多个通道中选择一个通道来接收。

package main

import (
    "fmt"
    "time"
)

func ping1 (c chan string){time.Sleep(time.Second*1)
    c 

如果先接收到 channel1 就先执行 channel1 分支,如果接收到 channel2,就执行 channel2 分支,如果在规定的时间没有接收到消息,就会执行超时的分支。
程序调用内置的 close 函数关闭了通道,关闭通道并不会导致通道的机能完全停止,他的作用就是通知其他正在尝试从这个通道接收值的 goroutine,这个通道已经不会再接受到任何值了。
case msg, ok1 = package main import ("fmt") func callerA(c chan string) { c

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计515字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中