本文主要研究一下gost的CountWatchgit
gost/time/count.gogithub
type CountWatch struct { start time.Time } func (w *CountWatch) Start() { var t time.Time if t.Equal(w.start) { w.start = time.Now() } } func (w *CountWatch) Reset() { w.start = time.Now() } func (w *CountWatch) Count() int64 { return time.Since(w.start).Nanoseconds() }
CountWatch定義了start屬性,它提供了Start、Reset、Count方法;其中Start方法判斷start爲初始值的時候設置爲time.Now;Reset設置start爲time.Now;Count計算當前時間距離start的納秒數
func countWatchDemo() { var cw gxtime.CountWatch cw.Start() //do something fmt.Println("cost:%d ns", cw.Count()) }
先start,再經過count獲取時間間隔,若要繼續使用,則須要執行Reset
gost的CountWatch定義了start屬性,它提供了Start、Reset、Count方法;其中Start方法判斷start爲初始值的時候設置爲time.Now;Reset設置start爲time.Now;Count計算當前時間距離start的納秒數。code