era*_*ran 22 arrays channel go
如何创建一个频道数组?
例如:用一个通道数组替换以下五行,大小为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);
Run Code Online (Sandbox Code Playgroud)
Mar*_*rot 53
该语句var chans [5]chan int将分配一个大小为5的数组,但所有的通道都是nil.
一种方法是使用切片文字:
var chans = []chan int {
make(chan int),
make(chan int),
make(chan int),
make(chan int),
make(chan int),
}
Run Code Online (Sandbox Code Playgroud)
如果你不想重复自己,你将不得不迭代它并初始化每个元素:
var chans [5]chan int
for i := range chans {
chans[i] = make(chan int)
}
Run Code Online (Sandbox Code Playgroud)