【发布时间】:2023-04-04 02:48:01
【问题描述】:
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"))
}
}
当我在代码中使用 time.Sleep 时,代码停止正常工作,我希望该代码每 10 秒启动一次,但我看到的结果如屏幕截图所示。我怎样才能正确地做到这一点? enter image description here
【问题讨论】: