如何打破时间。睡眠

几天前我刚刚开始使用 Golang,我似乎无法想出时间来休息。Sleep()...


我可以返回/跳出 for 循环,但是由于 Sleep 继续执行它的操作,该函数不会返回。


我猜解决方案很简单,但我似乎找不到答案。


func main() {

  ticker := time.NewTicker(time.Second * 1)


  go func() {

    for i := range ticker.C {

      fmt.Println("tick", i)

      ticker.Stop()

      break

    }

  }()

  time.Sleep(time.Second * 10)

      ticker.Stop()


  fmt.Println("Hello, playground")

}

提前致谢!


眼眸繁星
浏览 211回答 2
2回答

Cats萌萌

这可能不是一个非常具体的解决方案,但您可以应用它。我的理解是,您需要在特定条件下打破计时器。试着在你的睡眠周围放一个 while 循环,让它睡一秒钟将条件设置为 func 上的 boolwhile (condition_to_sleep){    time.Sleep(1000);}这样你就可以在需要的时候跳出计时器希望这有帮助:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go