Как создать массив каналов?
Например: замените следующие пять строк массивом каналов с размером 5:
var c0 chan int = make(chan int);
var c1 chan int = make(chan int);
var c2 chan int = make(chan int);
var c3 chan int = make(chan int);
var c4 chan int = make(chan int);
Оператор var chans [5]chan int
выделит массив размером 5, но все каналы будут nil
.
Одним из способов было бы использование литерала slice:
var chans = []chan int {
make(chan int),
make(chan int),
make(chan int),
make(chan int),
make(chan int),
}
Если вы не хотите повторяться, вам придется выполнять итерации и инициализировать каждый элемент:
var chans [5]chan int
for i := range chans {
chans[i] = make(chan int)
}