为了账号安全,请及时绑定邮箱和手机立即绑定

Go lang,不明白这段代码的作用

Go lang,不明白这段代码的作用

Go
明月笑刀无情 2023-07-04 09:58:13
我是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 块下方的代码每秒触发一次。


查看完整回答
反对 回复 2023-07-04
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信