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