关闭channel

来源:11-1 channel

LichFaker123

2018-02-27

在关闭channel后,如果继续发送数据, 则会panic: send on closed channel。


搜了一圈没有发现可以判断channel是否已经关闭的方法, 那么遇到这种问题该如何处理比较好?

我们应该在什么情况下,优雅而安全的去close channel呢?


写回答

2回答

ccmouse

2018-02-27

另一个角度看,channel里面的数据如何流动,channel如何close,会不会close,是发送方和接收方约定的。

0
0

ccmouse

2018-02-27

channel是由发送方关闭的。所以发送方知道channel被关闭了,不知道的话需要自行维护channel有没有关掉。接收方可以加收一个bool的形式来判断channel是否关闭,这个有提到。
一般情况下我们并不需要一个isClosed函数,而且系统也没有这样的函数。

0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程