package main
import (
"log"
"time"
)
func main() {
per := 10
period := time.Duration(per) * time.Second
log.Printf("period : %d sec\n\n", per)
ticker := time.NewTicker(time.Until(time.Now().Truncate(period).Add(period)))
for {
curTime := <-ticker.C
log.Printf("started %s", curTime.Format("2 15:04:05"))
time.Sleep(5 * time.Second)
log.Printf("ended %s\n\n", curTime.Format("2 15:04:05"))
}
}
当我在ticker内使用time.Sleep时,ticker无法正常工作,我希望ticker每10秒启动一次,但是我看到的结果如屏幕截图所示。我该如何正确地做?进入图片描述