我有这个代码,
// 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,这是做什么的?深拷贝还是浅拷贝?对此有什么保证?
谢谢
通道是参考类型。请参阅“ 通道是否通过引用隐式传递 ”。
(参考类型:切片,地图,通道,指针,函数)
,请参见“ 转到-指向地图的指针 ”。
ch = ch1
只需将的参考值复制ch1
到即可ch
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句