在Go中,渠道组合是什么意思?

BufBills:

我有这个代码,

// The prime sieve: Daisy-chain Filter processes.
func main() {
    ch := make(chan int) // Create a new channel.
    go Generate(ch)      // Launch Generate goroutine.
    for i := 0; i < 10; i++ {
        prime := <-ch
        print(prime, "\n")
        ch1 := make(chan int)
        go Filter(ch, ch1, prime)
        ch = ch1
    }
}

我试图了解频道分配的含义。例如ch = ch1,这是做什么的?深拷贝还是浅拷贝?对此有什么保证?

谢谢

VonC:

通道是参考类型。请参阅“ 通道是否通过引用隐式传递 ”。
(参考类型:切片,地图,通道,指针,函数)
,请参见“ 转到-指向地图的指针 ”。

ch = ch1只需将的参考值复制ch1到即可ch

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章