以下两份代码,及执行结果
package main
import (
"fmt"
"time"
)
func main() {
t:=time.NewTicker(2*time.Second)
for {
v,ok:= <-t.C
if ok{
fmt.Println(v)
//执行某任务
}
}
}
运行结果
2021-10-20 05:08:13.043167 +0800 CST m=+2.003717208
2021-10-20 05:08:15.043263 +0800 CST m=+4.003782483
2021-10-20 05:08:17.04303 +0800 CST m=+6.003520033
2021-10-20 05:08:19.042878 +0800 CST m=+8.003336958
...
package main
import (
"fmt"
"time"
)
func main() {
for {
time.Sleep(2*time.Second)
fmt.Println(time.Now())
}
}
运行结果
2021-10-20 05:11:10.520733 +0800 CST m=+2.004706789
2021-10-20 05:11:12.521883 +0800 CST m=+4.005826687
2021-10-20 05:11:14.522189 +0800 CST m=+6.006102467
2021-10-20 05:11:16.524366 +0800 CST m=+8.008249485
您好,ticker只要定义完成,从此刻开始计时,不需要任何其他的操作,每隔固定时间都会触发。使用timer定时器,超时后需要重置,才能继续触发。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。