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)   //只能收不能发的通道

不为其他,只为快乐!
原文地址:https://www.cnblogs.com/1521299249study/p/10072226.html