多线程(goroutine)会引入线程之间的同步问题,在golang中可以通过channel实现两个线程之间的通信。
首先创建一个channel: make(chan TYPE {, NUM})
注:TYPE指的是channel中传输的数据类型;第二个参数是可选的,指的是channel的容量大小。
1)向channel传入数据
CHAN <- DATA , CHAN 是目的channel即收集数据的一方, DATA 则是要传的数据。
2)从channel读取数据,
DATA := <-CHAN ,数据从‘channel’流向变量DATA。