Создать часть буферизованного канала в golang
Я не мог найти способ создать часть буферизованных каналов в golang. Я знаю, как создать фрагмент небуферизованного канала, как показано ниже
type ch chan int
channels := make([]ch,5)
1 ответ
Решение
Это утверждение channels := make([]ch,5)
просто выделяет контейнер (часть каналов, которая имеет длину 5). В дополнение к этому вы должны инициализировать каждый канал индивидуально, то есть когда вы объявите их буферизованными, а не небуферизованными. Поэтому, продолжая свой пример, просто сделайте это:
for i, _ := range channels {
channels[i] = make(chan int, BufferSize)
}