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

如何退出具有通道无限循环的功能

如何退出具有通道无限循环的功能

Go
白衣非少年 2023-03-15 15:19:32
我有这个函数可以监听 RabbitMQ 以使用消息。在某些时候,我想停止收听并关闭频道并退出该功能。func WaitForConfirm(expectedLen int){    count := 0    forever := make(chan bool)    go func() {        for i := 0; i < 5; i++ {            count++            if count == expectedLen {                // HERE I WANT TO EXIT THE FUNCTION COMPLETELY            }        }    }()    <-forever}哦,顺便说一句,我这样称呼这个函数:go WaitForConfirm(2)那么,我怎样才能停止无限循环并退出函数呢?
查看完整描述

1 回答

?
慕后森

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

实际上,您的代码中没有无限循环,只是 chan 阻塞了您的代码。

您应该将值发送给 chan 以释放执行。


查看完整回答
反对 回复 2023-03-15
  • 1 回答
  • 0 关注
  • 48 浏览
慕课专栏
更多

添加回答

举报

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