Go에서 반복적 인 백그라운드 작업을 수행 할 수있는 방법이 있습니까? Timer.schedule(task, delay, period)
Java 와 같은 것을 생각하고 있습니다. 나는 goroutine으로이 작업을 수행 할 수 있다는 것을 알고 Time.sleep()
있지만 쉽게 멈추는 것을 원합니다.
여기에 내가 가진 것이 있지만 나에게는 못 생겼습니다. 더 깨끗하고 더 좋은 방법이 있습니까?
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)
}
t := time.Tick(time.Duration(period) * time.Second)
기간은이다int