我有这个代码,
// 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
}
}
Run Code Online (Sandbox Code Playgroud)
我想了解通道分配的含义.例如ch = ch1,这是做什么的?深拷贝还是浅拷贝?这有什么保证?
谢谢
通道是参考类型.请参阅" 隐式通过引用传递通道 ".
(引用类型:切片,地图,通道,指针,函数)
并参见" Go - Pointer to map ".
ch = ch1只需复制ch1to 的参考值即可ch.