几天前我刚刚开始使用 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")}提前致谢!
2 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
这可能不是一个非常具体的解决方案,但您可以应用它。
我的理解是,您需要在特定条件下打破计时器。
试着在你的睡眠周围放一个 while 循环,让它睡一秒钟
将条件设置为 func 上的 bool
while (condition_to_sleep)
{
time.Sleep(1000);
}
这样你就可以在需要的时候跳出计时器
希望这有帮助:)
- 2 回答
- 0 关注
- 210 浏览
添加回答
举报
0/150
提交
取消