GO语言学习:通道
1.通道的声明
chan int 其中chan表示通道类型的关键字,int说明了通道中元素的数据类型
在初始化通道时,make函数除了能接收上面类型的参数,还可以接受一个int类型的参数用来表示通道中的最大容量
int参数为0代表非缓冲通道,大于0代表缓冲通道
一个通道相当于一个FIFO队列,元素的发送和接收都需要用到操作符 <-
ch1:=make(chan int,3) //容量为3的通道
ch1=<-2
ch1=<-1
ch1=<-3
elem1=<-ch1
elem1的值为2.
2.通道的基本特性
1.对于同一个通道,发送操作之间是互斥的,接收操作之间也是互斥的
2.发送操作和接收操作对元素值得处理是紧密连接的
3.发送操作和接收操作在完成之前会完全阻塞
var uselessChan=make(chan <-int,2) //只能发不能收的通道
var anotherlessChan=make(<-chan int,2) //只能收不能发的通道
不为其他,只为快乐!