chan又称之为通道,形式类似于管道,内容从一头被送进去,从另一头被读取出来。下边来介绍定义通道的方法:
var 变量名 chan dataType
定义通道时,需要指定数据类型,就是只允许这个指定数据类型的变量通过这个通道。
初始化通道
golang中在初始化通道类型变量时,可以将通道分为两种情况,一种是带缓冲的通道,另一种是不带缓冲的通道。
下边来介绍下两种情况的初始化方法:
// 初始化不带缓冲的通道,通道中数据类型是int
var ch1 = make(chan int)
// 初始化带10个缓冲的通道,通道中数据类型是string
var ch2 = make(chan string,10)
还有一种写法是,定义并初始化通道,
// 定义通道,并给通道初始化8个缓冲
ch3 := make(chan int ,8)
// 定义通道,并初始化为不带缓冲通道
ch4 := make(chan string)
通道赋值
对通道的读取和写入都可能进入阻塞状态。