你可能不知道的Golang

1. chan

操作 Channel状态 结果
Read nil 阻塞
打开且非空 输出值
打开但空 阻塞
关闭的 <默认值>, false (如果关闭前还有值会读完)
只写 编译错误
操作 Channel状态 结果
Write nil 阻塞
打开但填满 阻塞
打开且不满 写入值
关闭的 panic
只读 编译错误
操作 Channel状态 结果
close nil panic
打开且非空 关闭Channel; 读取成功,直到通道耗尽,然后读取产生值的默认值
打开但空 关闭Channel; 读取成功,读取产生值的默认值
关闭的 panic
只写 编译错误

你可能感兴趣的:(golang)