为了账号安全,请及时绑定邮箱和手机立即绑定

如何对 Go 中的通道方向不感到困惑?

如何对 Go 中的通道方向不感到困惑?

Go
繁花不似锦 2022-04-25 17:24:31
我是围棋的新手,如果我的问题看起来很愚蠢,我很抱歉。我很难在 Golang 中获得频道语法和词汇,尤其是在涉及方向的时候。当我读到这c chan<- int是一个“仅发送”通道时,我明白这个通道只能发送数据。但似乎恰恰相反,我们只能在这个chan里面放东西。“仅接收”通道c <-chan int也是如此:对我来说,它是一个只能接收数据的通道,但似乎这种通道只能发送数据而不能接收一些数据。看,我真的很困惑,所以如果你有更好的解释方式,或者更好的助记方式来理解它,我会在剩下的日子里感谢你!
查看完整描述

1 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

通道不能发送也不能接收数据。可以通道上发送数据,也可以通道接收数据。然后方向正是它的名字所说的。

另请注意,“箭头”表示方向。如果它像 一样指向通道(指向chanc chan<- int,则它是只发送的。如果它像 一样指向远离通道(在 外面chanc <-chan int,则它是只接收的。

实际发送任何东西(发送语句)之类c <- 1的,或从中接收东西(接收运算符)之类的也是如此a = <-c


查看完整回答
反对 回复 2022-04-25
  • 1 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信