The statement var chans [5]chan int
would allocate an array of size 5, but all the channels would be nil
.
One way would be to use a slice literal:
var chans = []chan int {
make(chan int),
make(chan int),
make(chan int),
make(chan int),
make(chan int),
}
If you don’t want to repeat yourself, you would have to iterate over it and initialize each element:
var chans [5]chan int
for i := range chans {
chans[i] = make(chan int)
}