go语言实现定时器的方法:可以通过time.sleep、time.after和time.Timer来实现定时器,如【time.Sleep(time.Second)】。
本文操作环境:windows10系统、Go 1.11.2、thinkpad t480电脑。
一、定时器的创建
golang中定时器有三种实现方式,分别是time.sleep、time.after、time.Timer
其中time.after和time.Timer需要对通道进行释放才能达到定时的效果
package mainimport ( "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) } }