Golang 单向通道
我们知道,通道是同时运行的goroutine之间的通信媒介,这样它们就可以互相发送和接收数据。默认情况下,通道是双向的,但你也可以创建一个单向的通道。一个只能接收数据的通道或一个只能发送数据的通道就是单向通道。单向通道也可以在make()函数的帮助下创建,如下所示。
例1 :
输出
将双向通道转换为单向通道
在Go语言中,你可以将双向通道转换为单向通道,或者换句话说,你可以将双向通道转换为只接收或只发送的通道,但反之则不可能。如下面的程序所示。
例子
输出
单向通道的使用: 单向通道是用来提供程序的类型安全的,这样,程序的错误就会减少。或者当你想创建一个只能发送或接收数据的通道时,你也可以使用单向通道。