Channel是Go中的⼀个核⼼类型,可以把它看成⼀个管道,通过它并发核⼼单元就可以发送或者接收数据进⾏通讯 (communication),Channel也可以理解是⼀个先进先出的队列,通过管道进⾏通信。

Golang的Channel,发送⼀个数据到Channel 和 从Channel接收⼀个数据 都是 原⼦性的。⽽且Go的设计思想就是:

不要通过共享内存来通信,⽽是通过通信来共享内存,前者就是传统的加锁,后者就是Channel。也就是说,设计 Channel的主要⽬的就是在多任务间传递数据的,这当然是安全的。