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

读取通道作为 if 语句的条件是一种好习惯吗?

读取通道作为 if 语句的条件是一种好习惯吗?

Go
当年话下 2021-10-25 20:32:27
我见过几个这样的例子:type data struct {    request chan string    response chan bool}并像这样使用:db := &data{make(chan string), make(chan bool)}if db.request<- "boo"; !<-db.response {    do something ...}来自响应通道的“轮询”不会阻塞吗?有时也不会在通道的另一端响应之前评估 if 条件吗?这种模式是否在标准库中的任何地方使用?
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

你没有轮询任何东西,是的,通道接收操作总是会阻塞。

<-db.response是正常的接收操作。该db.response议员必须是chan bool,而且!是合乎逻辑的“而不是”一元运算符。


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

添加回答

举报

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