2016-06-07 61 views
1

我找不到在golang中創建緩衝通道片段的方法。我知道如何創建如下給出在golang中創建緩衝通道片段

type ch chan int 
channels := make([]ch,5) 
+4

切片的類型不會確定它是否被緩衝;這是在你製作頻道時確定的。 –

回答

7

此語句channels := make([]ch,5)被簡單地分配所述容器(其具有長度爲5信道的切片)無緩衝通道的切片。除此之外,您必須逐個初始化每個通道,這是您將其聲明爲緩衝而不是無緩衝的時間。因此,擴展您的示例只需執行以下操作:

for i, _ := range channels { 
    channels[i] = make(chan int, BufferSize) 
}