7
有没有办法定期执行重复性任务?
有没有办法在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) }
148
go