为了账号安全,请及时绑定邮箱和手机立即绑定

我如何在 func 中声明一段 chan(通道)

我如何在 func 中声明一段 chan(通道)

Go
温温酱 2021-08-23 15:47:03
我正在尝试编写这样的函数,但我无法声明通道切片func fanIn(set <-[]chan string) <-chan string {    c := make(chan string)    for i := range set {        go func() { for {c <-set[i]} }()    }    return c}在 Go 中是否可以将一段通道作为参数?调用示例set := [2]chan string{mylib.Boring("Joe"), mylib.Boring("Ann")}c := fanIn(set)如果我能做到func fanIn(input1, input2 <-chan string) <-chan string {我认为应该可以有“<-chan string”的切片或数组更新: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 回答

  • 1 回答
  • 0 关注
  • 175 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信