GO channel的基础使用

实现的是创建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()
}

执行结果如下:
GO channel的基础使用

上一篇:go select语句的用法和作用


下一篇:Go只有25个关键字