在golang中创建一片缓冲通道

GoT*_*GoT 1 channel go buffered

我找不到在golang中创建一片缓冲通道的方法.我知道如何创建如下所示的无缓冲通道片

type ch chan int
channels := make([]ch,5)
Run Code Online (Sandbox Code Playgroud)

eva*_*nal 9

这个语句channels := make([]ch,5)只是分配容器(长度为5的通道切片).除此之外,您必须单独初始化每个通道,这时您将它们声明为缓冲而不是无缓冲.所以扩展你的例子就是这样做:

for i, _ := range channels {
     channels[i] = make(chan int, BufferSize)
}
Run Code Online (Sandbox Code Playgroud)