1. Timer的使用
//验证time.NowTimer() 只响应一次
func main() {
//创建一个定时器,设置时间为2s,2s后,往tim通道写数据
timer := time.NewTimer(2 * time.Second)
fmt.Println(time.Now())
//2s后,往timer.C写数据,有数据后,就可读取
t := <- timer.C
fmt.Println("t = ", t)
fmt.Println(time.Now())
}
2021-03-04 22:02:15.87997206 +0800 CST m=+0.000451296
t = 2021-03-04 22:02:17.880901904 +0800 CST m=+2.001321116
2021-03-04 22:02:17.8810083 +0800 CST m=+2.001427508
2. Timer实现延时功能
func main() {
//方法1
timer := time.NewTimer(2 * time.Second)
<- timer.C
fmt.Println("延时2s")
//方法2
time.Sleep(2 * time.Second)
fmt.Println("延时2s")
//方法3
time :=time.After(2 * time.Second)
<- time
fmt.Println("延时2s")
}
3. time定时器停止功能
timer.Stop() //停止定时器
4.time定时器重置
timer.Reset(1 * time.Second)//重新设置为1s