【发布时间】:2017-04-21 09:00:29
【问题描述】:
我正在通过Go by Example: Non-Blocking Channel Operations
据我了解,第一个select 触发了default 案例,因为messages 频道中没有任何内容,如果default 案例不存在,我们将收到@987654326 @错误,对吧?
好吧,我不知道如何触发第二个select,特别是触发case messages <- msg:
正如我所想,它应该与接收相反。因此,如果有 2 条消息的缓冲区并且我们将第 3 条消息发送到通道,它将触发 default 子句,但 messages 通道是空的,那么为什么在第二个选择中它会触发 default 子句?以及如何触发case messages <- msg: 子句?
【问题讨论】: