5
如何收听N个频道?(动态选择语句)
要开始执行两个goroutine的无限循环,我可以使用以下代码: 收到味精后,它将启动一个新的goroutine并永远继续下去。 c1 := make(chan string) c2 := make(chan string) go DoStuff(c1, 5) go DoStuff(c2, 2) for ; true; { select { case msg1 := <-c1: fmt.Println("received ", msg1) go DoStuff(c1, 1) case msg2 := <-c2: fmt.Println("received ", msg2) go DoStuff(c2, 9) } } 我现在想对N个goroutine具有相同的行为,但是在这种情况下select语句将如何显示? 这是我开始的代码位,但是我对如何编写select语句感到困惑 numChans := 2 //I …
116
go