Go'da tekrarlayan arka plan görevlerini yapmanın bir yolu var mı? Timer.schedule(task, delay, period)
Java'daki gibi bir şey düşünüyorum . Bunu bir gorutinle yapabileceğimi biliyorum Time.sleep()
ama kolayca durdurulabilecek bir şey istiyorum.
İşte bulduğum şey, ama bana çirkin görünüyor. Daha temiz / daha iyi bir yol var mı?
func oneWay() {
var f func()
var t *time.Timer
f = func () {
fmt.Println("doing stuff")
t = time.AfterFunc(time.Duration(5) * time.Second, f)
}
t = time.AfterFunc(time.Duration(5) * time.Second, f)
defer t.Stop()
//simulate doing stuff
time.Sleep(time.Minute)
}