go語言實現(xiàn)定時器的方法:可以通過time.sleep、time.after和time.Timer來實現(xiàn)定時器,如【time.Sleep(time.Second)】。
本文操作環(huán)境:windows10系統(tǒng)、Go 1.11.2、thinkpad t480電腦。
一、定時器的創(chuàng)建
golang中定時器有三種實現(xiàn)方式,分別是time.sleep、time.after、time.Timer
其中time.after和time.Timer需要對通道進行釋放才能達到定時的效果
package mainimport ( "fmt" "time")func main() { /* 用sleep實現(xiàn)定時器 */ fmt.Println(time.Now()) time.Sleep(time.Second) fmt.Println(time.Now()) /* 用timer實現(xiàn)定時器 */ timer := time.NewTimer(time.Second) fmt.Println(<-timer.C) /* 用after實現(xiàn)定時器 */ fmt.Println(<-time.After(time.Second)) }
二、定時器的重置與停止
重置定時器 timer.Reset(d Duration)
停止定時器 timer.Stop()
三、周期定時的實現(xiàn)Tiker
golang中使用Tiker可以實現(xiàn)周期定時的效果
package main import ( "fmt" "time") func main() { tiker := time.NewTicker(time.Second) for i := 0; i < 3; i++ { fmt.Println(<-tiker.C) } }