Go|踩坑不完全记录之channel
channel 是 golang 并发编程的极其重要的组成部分之一。但是关于 channel 的一些特性,如果不熟记于心,那么,可是会陷入莫名其妙的问题中无法自拔。下面,是关于 channel 你可能会踩到的雷……
当 channel 为 nil 时...
当你声明一个 channel 并且不进行任何初始化动作的时候,恭喜你,你就获得了一个 nil channel:
1
var c chan struct{}
在 golang 中,从一个 nil channel 接收数据,以及往一个 nil channel 发送数据都会天荒地老地阻塞。
这看起来并没有什么。但是,地雷暗藏其中。