幾天前我剛剛開始使用 Golang,我似乎無(wú)法想出時(shí)間來(lái)休息。Sleep()...我可以返回/跳出 for 循環(huán),但是由于 Sleep 繼續(xù)執(zhí)行它的操作,該函數(shù)不會(huì)返回。我猜解決方案很簡(jiǎn)單,但我似乎找不到答案。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貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
這可能不是一個(gè)非常具體的解決方案,但您可以應(yīng)用它。
我的理解是,您需要在特定條件下打破計(jì)時(shí)器。
試著在你的睡眠周圍放一個(gè) while 循環(huán),讓它睡一秒鐘
將條件設(shè)置為 func 上的 bool
while (condition_to_sleep)
{
time.Sleep(1000);
}
這樣你就可以在需要的時(shí)候跳出計(jì)時(shí)器
希望這有幫助:)
- 2 回答
- 0 關(guān)注
- 234 瀏覽
添加回答
舉報(bào)
0/150
提交
取消