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 | 返回未读元素, 读完后返回零值 |