chan 赋值的问题
来源:11-4 用select进行调度

慕丝8651821
2018-08-18
func main() 中, w := createWorker(0) , createWorker() 的返回值是个chan c , 这里把 chan c 赋值给了 w ,这样w 和 c 就是同一个chan 了吗? 如果不是,那 worker() 中 是对 chan c 进行 range, 而 main() 中是 向chan w 中送数据,数据怎么会进到 chan c 中了呢?
写回答
1回答
-
的确是同一个channel。channel是可以给来给去的。只要拿了这个channel就可以发送接收数据。
可能我之前说过值传递的问题。channel的肚子里其实有一个到具体实现的指针,所以虽然作为值传来传去,但都是同一个channel012018-08-22
相似问题