Go chan的-异常总结
chan
的值或者状态会有很多种情况,一些操作可能会出现panic
异常场景,如下表:
接收/发送 | nil channel | 有值 channel | 没值 channel | 满 channel |
---|---|---|---|---|
<- ch (发送数据) | 阻塞 | 发送成功 | 发送成功 | 阻塞 |
ch <- (接收数据) | 阻塞 | 接收成功 | 阻塞 | 接收成功 |
close (ch) 关闭 channel | panic | 关闭成功 | 关闭成功 | 关闭成功 |
chan
的值或者状态会有很多种情况,一些操作可能会出现panic
异常场景,如下表:
接收/发送 | nil channel | 有值 channel | 没值 channel | 满 channel |
---|---|---|---|---|
<- ch (发送数据) | 阻塞 | 发送成功 | 发送成功 | 阻塞 |
ch <- (接收数据) | 阻塞 | 接收成功 | 阻塞 | 接收成功 |
close (ch) 关闭 channel | panic | 关闭成功 | 关闭成功 | 关闭成功 |