我是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 關注
- 127 瀏覽
添加回答
舉報
0/150
提交
取消