Go有一个package名字叫time
,通过这个package可以很容易的实现与时间有关的操作。time
package中有一个ticker结构,可以实现定时任务。
import "time"
ticker := time.NewTicker(time.Minute * 1)
go func() {
for _ = range ticker.C {
fmt.Printf("ticked at %v", time.Now())
}
}()
上面的打印方法会每隔一分钟把当前时间打印出来。修改间隔时间和要执行的函数,就能实现你需要的定时任务。
网友评论
推荐下,分布式作业中间件 Elastic-Job 源码解析 16 篇:http://t.cn/R05mBNd
鲍
func main() {
ticker := time.NewTicker(time.Second * 2)
go func() {
for value := range ticker.C {
fmt.Println("ticked at %v", time.Now())
fmt.Println("value =", value)
}
}()
ch := make(chan int)
value := <- ch
fmt.Println("value =", value)
}