6649

闭通道与零通道

将信道变量设置为nil,只需将变量设置为nil,而离开它以前提到的初始化通道。

这与将任何其他变量设置为零相同。

如果有其他对通道的引用,您仍然可以访问它。如果没有,它将被垃圾收集。

此外,在写入或阅读时,nil与封闭通道的行为有所不同。大卫·切尼( Dave )的博客文章“https://dave.cheney.net/2014/03/19/channel-axioms”(我推荐阅读全文)中写道:

发送到零通道将永远阻塞。来自零通道的接收将永远阻塞。发送到封闭通道恐慌来自封闭通道的接收立即返回零值。