Golang中channel

太过爱你忘了你带给我的痛 2023-01-06 14:54 236阅读 0赞

声明一个管道

  1. ch:=make(chan int ,10)//声明一个管道

遍历管道

  1. //注意,如果需要遍历管道的内容,需要先将管道进行关闭,如果不关闭管道
  2. //直接进行遍历,则在遍历最后一个元素后,会造成死锁
  3. close(ch)//关闭管道,关闭之后,管道不能够再进行添加元素,只能弹出元素
  4. for v:=range ch{
  5. //v为管道中的元素
  6. }

select语句

  • select中,每个case中都会有一个管道的添加或弹出元素,
  • 进入select中,从上到下,进行语句,如果执行到其中一个语句,可以执行,则会退出select语句
  • 如果按照从上到下的case语句,每一个都不能执行,则执行default语句,如果没有default语句,则会退出循环

发表评论

表情:
评论列表 (有 0 条评论,236人围观)

还没有评论,来说两句吧...

相关阅读

    相关 golangchannel的超时

    基本语法 通道声明和初始化 我们可以通过`chan`关键字来声明通道类型变量 var ch chan int // 声明一个通道类型变量 ch,并且通道

    相关 golang channel 的使用

    本文对channel使用中的几个疑惑,以例子的形式加以说明。 普通channel 缺省情况下,发送和接收会一直阻塞着,直到另一方准备好. 例如: pack

    相关 golangChannel

    Channel是Go中的一个核心类型,可以将其看成一个管道,通过它并发单元就可以发送或者接收数据进行通信(communication)。 `Do not communicat