我正在嘗試編寫這樣的函數(shù),但我無法聲明通道切片func fanIn(set <-[]chan string) <-chan string { c := make(chan string) for i := range set { go func() { for {c <-set[i]} }() } return c}在 Go 中是否可以將一段通道作為參數(shù)?調(diào)用示例set := [2]chan string{mylib.Boring("Joe"), mylib.Boring("Ann")}c := fanIn(set)如果我能做到func fanIn(input1, input2 <-chan string) <-chan string {我認(rèn)為應(yīng)該可以有“<-chan string”的切片或數(shù)組更新:func fanIn(set []<-chan string) <-chan string { c := make(chan string) for i := range set { go func() { for { x := <-set[i] c <- x } }() } return c}func main() { set := []<-chan string{mylib.Boring("Joe"), mylib.Boring("Ann"), mylib.Boring("Max")} c := fanIn(set) for i := 0; i < 10; i++ { fmt.Println(<-c) } fmt.Println("You're boring: I'm leaving.")}
- 1 回答
- 0 關(guān)注
- 196 瀏覽
添加回答
舉報
0/150
提交
取消