我想定义一个等待未知数量的频道接收的函数,然后通知另一个名为allDone
的频道关于完成。
我不确定如何以编程方式列出select
个案例,一些伪代码可能如下所示:
func waitFor(channels ...chan bool, allDone chan bool) {
for {
select {
case <-channels[0]:
...
case <-channels[len(channels)-1]:
allDone <- true
}
}
}