介绍
通道(channel)则是用来传递数据的一个数据结构。 大部分时候 channel 都是和 goroutine 一起配合使用。
通道可用于两个 goroutine 之间通过传递一个指定类型的值来同步运行和通讯。操作符 <- 用于指定通道的方向,发送或接收。如果未指定方向,则为双向通道。
使用规范
chan T // 可以接收和发送类型为 T 的数据, 定义时使用
chan<- float64 // 只可以用来发送 float64 类型的数据, 在函数参数中使用, 这样可以限定chan使用
<-chan int // 只可以用来接收 int 类型的数据, 在函数参数中使用, 这样可以限定chan使用