我是Go中的新手,如果我的问题看起来很愚蠢,请对不起。
我真的很难在Golang中获得频道语法和词汇,特别是关于方向时。
[当我看到c chan<- int
是一个“仅发送”通道时,我知道该通道只能发送数据。但这似乎是相反的,我们只能将内容放入此chan中。
与“仅接收”通道c <-chan int
相同:对我来说,这是一个只能接收数据的通道,但看来这种通道只能发送数据而不能接收某些数据。
[看,我真的很困惑,因此,如果您有更好的解释方式,或者有助记法来理解它,我将在余下的时间里感谢您!
频道无法发送或接收数据。 您可以在通道on上发送数据,并且可以在通道from上接收数据。然后方向就是它的名字所要表达的意思。
还请注意,“箭头”将方向可视化。如果它像chan
一样指向通道(朝c chan<- int
指向),则为仅发送。如果它像chan
那样指向通道之外(在c <-chan int
之外),则它是仅接收的。
[实际上是像在Send statement上向其发送任何内容(c <- 1
,或像Receive operator一样从其接收内容(a = <-c
)。