Go Channel 操作状态
2018-01-29 本文已影响66人
llitfk_DockOne
【编者的话】Go Channel 操作状态以及返回结果的总结
操作 | 状态 | 结果 |
---|---|---|
读 | nil | 阻塞 |
读 | 开启并不为空 | 获得对应值 |
读 | 开启并为空 | 阻塞 |
读 | 关闭 | 默认值, false |
读 | 只能写入 | 编译错误 |
写 | nil | 阻塞 |
写 | 开启并塞满 | 阻塞 |
写 | 开启并未塞满 | 写入对应值 |
写 | 关闭 | panic |
写 | 只能接收 | 编译错误 |
关闭 | nil | panic |
关闭 | 开启并不为空 | 关闭; 读取对应值直到channel为空, 之后读取时输出默认值 |
关闭 | 开启并为空 | 关闭; 读取时输出默认值 |
关闭 | 关闭 | panic |
关闭 | 只能接收 | 编译错误 |
References: