在Go 中精確測量時間長度
背景:
背景:測量時間長度的傳統長度方法由於時區等系統時間的調整,使用時間包可能會不準確變化或閏秒。這些調整會影響基於 time.Now() 的時間測量的準確性。
單調時鐘:Go 透過使用單調時鐘解決了這個問題,單調時鐘不是受此類調整的影響。從 Go 1.9 開始,Go 提供了一個單調時鐘來測量持續時間。這可以確保即使系統時間發生變化,經過的時間測量也是一致且準確的。
start := time.Now() ... operation that takes 20 milliseconds ... t := time.Now() elapsed := t.Sub(start)
範例:
在此範例中,經過的時間將始終約為 20毫秒,無論掛鐘期間發生任何變化
其他慣用語:這些習慣用語也非常適合掛鐘
注意:在Go 1.9 之前,使用time.Now() 進行時間測量可能會導致不準確。然而,隨著單調時鐘的引入,Go 現在提供了精確可靠的持續時間測量。以上是即使系統時間變化,Go 如何精確測量持續時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!