实现的是创建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() }
执行结果如下: