实现的是创建10个channel,分别打印不同的str
// 从channel内接受数据
func worker(id int, c chan int) {
for {
fmt.Printf("Worker %d, print %c\n", id, <-c)
}
}
func chanDemo() {
// 创建10个channel
var channels [10]chan int
for i := 0; i < 10; i++ {
channels[i] = make(chan int)
go worker(i, channels[i])
}
// 分别往10个channel内写入数据
for i := 0; i < 10; i++ {
channels[i] <- 'a' + i
}
time.Sleep(time.Millisecond)
}
func main() {
chanDemo()
}
执行结果如下: