timer.go 362 B

12345678910111213141516171819202122232425
  1. package util
  2. import "time"
  3. // Timer 计时器
  4. type Timer struct {
  5. t int64
  6. used int64
  7. }
  8. func (t *Timer) Start() {
  9. t.t = time.Now().UnixNano()
  10. }
  11. func (t *Timer) Pause() {
  12. t.used += time.Now().UnixNano() - t.t
  13. }
  14. func (t *Timer) Continue() {
  15. t.t = time.Now().UnixNano()
  16. }
  17. func (t *Timer) Used() int64 {
  18. return (time.Now().UnixNano() - t.t) + t.used
  19. }