为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Go中动态频道列表中选择输入?

如何在Go中动态频道列表中选择输入?

Go
jeck猫 2021-04-07 18:19:41
Go具有一种机制,可以从几个通道之一的select语句中进行阻塞读取。所以你可以说select {    case <- c1:    case <- c2:}将阻塞,直到我们从这两个通道中的任何一个获得输入。非常好。但这要求我在源代码中指定要轮询的通道数。如果我有一个通道的一部分或数组,并且想在获得任何通道的输入之前都想阻塞,该怎么办?
查看完整描述

3 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

只是想一想,但您可以使用多路复用模式,在该模式中产生一个带有2个通道的goroutine,该通道在两个通道上均阻塞,然后将输出发送到新通道。然后,您可以从列表中动态构建这些树,将所有内容集中到单个通道,然后继续阅读。


查看完整回答
反对 回复 2021-04-26
  • 3 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信