func Tick() {
fmt.Println("startTime", time.Now().Format("2006-01-02 15:04:05"))
t := time.NewTicker(time.Second * 3)
time.Sleep(time.Second * 12)
for {
stamp := <-t.C
fmt.Println("tickTime", stamp.Format("2006-01-02 15:04:05"))
}
}
Otputである:golang tickerはどのように機能しますか?上記のスニペットから
のstartTime 2016年6月22日16時22分20秒
をtickTime 2016年6月22日夜04時22分23秒
tickTime 2016-06- 22夜四時22分35秒
tickTime 2016年6月22日午後04時22分38秒
tickTime 2016年6月22日夜4時22分41秒
tickTime 2016年6月22日私はティッカーを遅らせる際午後四時22分44秒
は、なぜこれがノータイムスタンプ夜04時22分26秒、午前16時22分二十九秒で起こったのか?
どこを実行していますか?私のためにうまくいくようです:https://play.golang.org/p/3uVTJq9AfN –
@DuruCanCelasunあなたはティッカー期間よりも短い1秒間だけ待っています。 Wait> tick時間が問題になります。 – LinearZoetrope