一、定時器的創建
golang中定時器有三種實現方式,分別是time.sleep、time.after、time.Timer
其中time.after和time.Timer需要對通道進行釋放才能達到定時的效果
package main
import (
"fmt"
"time"
)
func main() {
/*
用sleep實現定時器
*/
fmt.Println(time.Now())
time.Sleep(time.Second)
fmt.Println(time.Now())
/*
用timer實現定時器
*/
timer := time.NewTimer(time.Second)
fmt.Println(<-timer.C)
/*
用after實現定時器
*/
fmt.Println(<-time.After(time.Second))
}
二、定時器的重置與停止
重置定時器 timer.Reset(d Duration)
停止定時器 timer.Stop()
三、周期定時的實現Tiker
golang中使用Tiker可以實現周期定時的效果
package main
import (
"fmt"
"time"
)
func main() {
tiker := time.NewTicker(time.Second)
for i := 0; i < 3; i++ {
fmt.Println(<-tiker.C)
}
}
