我是golang菜鳥,但我想更改一個(gè)每分鐘每秒將數(shù)據(jù)寫入數(shù)據(jù)庫的源代碼。我很難找到 Tick 在代碼中的作用。config.SampleRate 為整數(shù) = 1,這意味著每分鐘 = 每 60 秒這個(gè)勾號是關(guān)于什么的以及它的結(jié)尾部分:<-勾號,與計(jì)數(shù)器 i 結(jié)合?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貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
tick
是 Go 中的一個(gè)通道。如果您查看文檔,tick
應(yīng)該每個(gè)時(shí)間間隔向通道發(fā)送一次內(nèi)容,這是在time.Duration(1000/config.Samplerate) * time.Millisecond
您的代碼中指定的。<-tick
只需等待該時(shí)間間隔過去。
i
跟蹤過去了多少秒,因此每次滴答時(shí),您都將加一i
。if 語句檢查一分鐘過去的時(shí)間。
因此,if 語句內(nèi)的代碼每 60 秒觸發(fā)一次,而 if 塊下方的代碼每秒觸發(fā)一次。
- 1 回答
- 0 關(guān)注
- 129 瀏覽
添加回答
舉報(bào)
0/150
提交
取消