一尘不染

Go语言中的“小于后跟破折号”运算符是什么?

go

<-Go语言中的运算符是什么?在与Go相关的许多代码片段中都已经看到了这一点,但是它的含义是什么呢?


阅读 313

收藏
2020-07-02

共1个答案

一尘不染

您已经有了答案,但是可以解决。

将通道视为消息队列。

如果通道位于左箭头(<-)运算符的右侧,则意味着要使条目出队。将条目保存在变量中是可选的

e <- q

如果通道位于左箭头运算符的左侧,则意味着要排队一个条目。

q <- e

关于不存储变量的“出队”(接收)的进一步说明:它可以在非缓冲队列中用于实现Java中的“等待/通知”操作之类的东西:一个协程被阻止等待出队/接收信号,则另一个协程队列排队/发送该信号,其内容并不重要。(或者,发送者可能被阻止,直到接收者拉出消息为止)

2020-07-02