Channel 的大小设为 1 还是 None

通道的大小通常应该设为 1 或者设为无缓冲类型。默认情况下,通道是无缓冲类型的,大小为 0 。将通道大小设为其他任何数值都应该经过深思熟虑。认真考虑如何确定其大小,是什么阻止了工作中的通道被填满并阻塞了写入操作,以及何种情况会发生这样的现象。

BadGood
  1. // 足以满足任何人!
  2. c := make(chan int, 64)
  1. // 大小 为 1
  2. c := make(chan int, 1) // or
  3. // 无缓冲 channel, 大小为 0
  4. c := make(chan int)