我有两个用作生成器的只读通道<-chan Event
。
type Event struct{
time int
}
我可以将它们的值读作:
for {
select {
case <-chan1:
// do something
case <-chan2:
//do something
}
我将这些频道用于事件驱动的模拟,因此我必须选择Event
较少的time
字段。
是否可以检查每个通道的值,然后选择从哪个读取?因为操作<-chan1
从通道获取值,所以无法将其推回(只读通道)。
答案 0 :(得分:3)
您可以实现您的go渠道结构版本。例如,以下实现就像没有大小限制的go channel那样,你可以检查它的第一个元素。
$query = "select farm from farms where id =".$supplier;