我是 Go 的新手,如果我的问题看起来很愚蠢,我很抱歉。我很难掌握 Golang 中的通道语法和词汇,特别是当它涉及方向时。当我读到这c chan<- int是一个“仅发送”通道时,我知道该通道只能发送数据。但似乎恰恰相反,我们只能往这个chan里放东西。对于“仅接收”通道也是如此c <-chan int:对我来说,这是一个只能接收数据的通道,但似乎这种通道只能发送数据而不能接收一些数据。你看,我真的很困惑,所以如果你有更好的方法来解释它,或者有一个好的记忆方法来理解它,我将在余下的日子里感谢你!
1 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
该通道无法发送或接收数据。您可以在通道上发送数据,也可以从通道接收数据。然后方向正如它的名字所说的那样。
另请注意,“箭头”使方向可视化。chan
如果它像 一样指向通道(指向) c chan<- int
,则它是仅发送的。如果它指向远离通道(在 之外chan
)的地方,例如c <-chan int
,则它是仅接收的。
实际发送任何内容(发送语句)c <- 1
或从中接收内容(接收操作符)也是如此a = <-c
。
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报
0/150
提交
取消