有两个通道将用于通过关闭它们来发送信号。如何从它们中创建一个通道,如果其中至少一个通道关闭,该通道将被关闭。这段代码说明了我想做什么:
func MergeChans(c1 chan struct{}, c2 chan struct{}) chan struct{} {
c3 := make(chan struct{})
go func() {
select {
case <-c1: close(c3)
case <-c2: close(c3)
}
}()
return c3
}
是否可以在没有子程序的情况下实现这一目标?
白衣染霜花
相关分类