go select语句
博客专区 > qii 的博客 > 博客详情
go select语句
qii 发表于1年前
go select语句
  • 发表于 1年前
  • 阅读 13
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

看介绍说,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
共有 人打赏支持
粉丝 14
博文 77
码字总数 23520
×
qii
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: