Golang channel
原创大约 1 分钟...
对不同状态的 channel 操作分别是什么结果
| 状态 \ 操作 | close | send | receive |
|---|---|---|---|
| nil | panic | block | block |
| 为空 | closed, 没有保留元素 | write value | block |
| 已满 | closed, 保留未读的元素 | block | read value |
| 非空且未满 | closed, 保留未读的元素 | write value | read value |
| closed | panic | panic | 返回未读元素, 读完后返回零值 |







