我剛開始拿起Golang的前幾天,我似乎無法找出突圍time.Sleep()的...如何突圍time.Sleep
我可以返回/跳出for循環,但該功能不會返回,因爲睡眠繼續進行。
我猜測解決方案很簡單,但我似乎無法找到答案。
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")
}
提前感謝!
感謝您的迴應! – davissp14
我最終通過添加一個渠道來解決它,就像你給的例子。然後我簡單地做了一個:如果! < - 完成;睡覺...;否則返回; – davissp14
@ davissp14,循環是這樣做的一個相當古怪的方式。以我的例子來說,你會收到一個更改的通知,而不是經常檢查。 –