Skip to content

egovorukhin/egotimer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EgoTimer

Timer for Go projects. Таймер для проектов на Go. Таймер имеет функцию Restart, которой так иногда не хватает. Обязательная особеность - это установка функции, которая должна выполниться при истечении времени таймера.

Установка

go get github.com/egovorukhin/egotimer

Начало работы

  • Инициализация
  import "github.com/egovorukhin/egotimer"
  ...
  count := 0
  timer := egotimer.New(1*time.Second, func(t time.Time) bool {
      if count == 5 {
        return true
      }
      count++
      fmt.Printf("Попытка %d - Время срабатывания таймера: %s\n",
        count,
        t.Format("2006-01-02 15:04:05"))
      return false
    })

Инициализируем Timer, передаем длительность и функцию. func(t time.Time) bool - функция должна возвращать bool значение. true - произойдет остановка таймера, считаем что задание выполнилось успешно и нет смысла продолжать движение таймера. false - считаем что функция выполнилась не верно, либо нужно выполнить какие-то действия при следующих итерациях.

  • Старт
  timer.Start()

Запуск таймера.

  • Перезапуск
  timer.Restart()

Перезапуск таймера - это остановка таймера, повторная инициализация и запуск. При перезапуске будет использоваться та же длительность и функция.

  • Остановка
  timer.Stop()

Обычная остановка таймера.

Пример

Подробный пример можно разобрать в файле timer_test.go