登录
首页 >  Golang >  Go问答

如何在 Go 中不混淆通道方向?

来源:stackoverflow

时间:2024-04-15 13:00:36 274浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《如何在 Go 中不混淆通道方向?》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

我是 Go 的新手,如果我的问题看起来很愚蠢,我很抱歉。

我很难掌握 Golang 中的通道语法和词汇,特别是当它涉及方向时。

当我读到 c chan<- int 是“仅发送”通道时,我了解到该通道只能发送数据。但似乎恰恰相反,我们只能往这个chan里放东西。

“仅接收”通道 c <-chan int 也是如此:对我来说,这是一个只能接收数据的通道,但似乎这种通道只能发送数据而不能接收数据。

你看,我真的很困惑,所以如果你有更好的方法来解释它,或者有一个好的助记方法来理解它,我将在余下的日子里感谢你!


解决方案


通道无法发送或接收数据。 可以在通道上发送数据,并且可以通道接收数据。然后方向就如其名称所示。

另请注意,“箭头”显示了方向。如果它指向通道(指向 chan),如 c chan<- int,则它是仅发送。如果它指向远离通道(chan 之外)的位置,例如 c <-chan int,则它是仅接收的。

实际发送任何内容(Send statement)(如 c <- 1)或从中接收某些内容(Receive operator)(如 a = <-c)也是如此。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>