golang 中 如何退出协程?

func main(){
    fmt.Println("start")
    go func(){
        ... // 假设有一大段业务逻辑
        if status == 1 {
            return //用return来退出???
        }
        ... // 另外一大段业务逻辑
    }()
    for {
    
    }
}
阅读 8.3k
1 个回答

我觉得return挺好啊,是正常的处理逻辑,我个人觉得写代码,简单的最不容易出错,这也是我之前去参加gopher的时候,有一个分享者说的,我觉得挺正确的。

还有其他方式,比如sync.WaitGroup 和 channel,网上例子挺多的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题