单向通道
在声明通道时,我们可以设置只发送或只接收。这种被约束操作方向的通道称为单向通道。
- 声明单向通道
只发送:chan<-,只接收:<-chan
var 通道实例 chan<- 元素类型 // 只发送数据
var 通道实例 <-chan 元素类型 // 只接受数据
通道实例即通道变量;元素类型为通道传输的数据类型。
- 单向通道使用实例
只能发送数据的通道类型为chan<-
ch := make(chan int) // 创建一个通道实例
var chSendOnly chan<- int = ch // 只发送数据,并赋值ch
只能接收数据的通道类型为<-chan
ch := make(chan int) // 创建一个通道实例
var chRecvOnly <-chan int = ch // 只接受数据,并赋值ch
使用make创建只发数据或只读数据的通道
ch := make(<-chan int)
var chReadOnly <-chan int = ch