我是golang菜鸟,但我想更改一个每分钟每秒将数据写入数据库的源代码。我很难找到 Tick 在代码中的作用。config.SampleRate 为整数 = 1,这意味着每分钟 = 每 60 秒这个勾号是关于什么的以及它的结尾部分:<-勾号,与计数器 i 结合?i := 0tick := time.Tick(time.Duration(1000/config.Samplerate) * time.Millisecond)for { // Restart the accumulator loop every 60 seconds. if i > (60*config.Samplerate - 1) { i = 0 //some code here } //some code there } <-tick i++
1 回答
FFIVE
TA贡献1797条经验 获得超6个赞
tick
是 Go 中的一个通道。如果您查看文档,tick
应该每个时间间隔向通道发送一次内容,这是在time.Duration(1000/config.Samplerate) * time.Millisecond
您的代码中指定的。<-tick
只需等待该时间间隔过去。
i
跟踪过去了多少秒,因此每次滴答时,您都将加一i
。if 语句检查一分钟过去的时间。
因此,if 语句内的代码每 60 秒触发一次,而 if 块下方的代码每秒触发一次。
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报
0/150
提交
取消