Проверяет управление периодическими задачами.
Ticker гарантирует фиксированный период между сигналами, Sleep — фиксированную задержку между итерациями. Ticker предпочтительнее, потому что не накапливает дрейф и позволяет корректно завершать цикл.
for {
work()
time.Sleep(1 * time.Second)
}Проблема:
время выполнения work() добавляется к паузе
появляется дрейф (накопление сдвига во времени)
ticker := time.NewTicker(time.Second)
for range ticker.C {
work()
}Особенности:
сигнал приходит ровно каждую секунду
даже если work() занял 900ms, следующий тик придёт вовремя
ticker можно остановить (Stop())
Ticker предпочтительнее:
для периодических задач
для cron-подобной логики
в проде, где важна стабильность