登录
首页 >  Golang >  Go问答

结束无限循环函数的方法

来源:stackoverflow

时间:2024-02-05 21:33:22 412浏览 收藏

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

问题内容

我有这个函数可以监听 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)

那么,如何停止无限循环并退出函数呢?


正确答案


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

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

此处示例:https://go.dev/play/p/ujJjwBBsiP0

本篇关于《结束无限循环函数的方法》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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