
💬Предположим, что мы хотим выполнить код Go в какой-то момент в будущем или повторно через определенный интервал. Что необходимо использовать в таком случае?
📌Встроенные функции
🔹Таймеры (первый пример):
◆ Таймеры представляют собой способ ожидания определенного времени перед выполнением действия.
◆ Создание таймера выполняется с помощью функции
◆ В примере таймер имеет канал
◆ Также возможно остановить таймер перед его активацией с помощью метода
🔹Тикеры (второй пример):
◆ Тикеры используются для выполнения действий через регулярные промежутки времени.
◆ Создание тикера также выполняется с помощью функции в пакете
◆ Аналогично таймерам, тикеры имеют канал
◆ Тикеры можно остановить, используя метод
📌Встроенные функции
timer
и ticker
упрощают обе задачи, при этом таймеры предназначены для кейсов, когда мы хотим сделать что-то один раз в будущем, а тикеры — для кейсов, когда мы хотим сделать что-то повторно через определенные промежутки времени.🔹Таймеры (первый пример):
◆ Таймеры представляют собой способ ожидания определенного времени перед выполнением действия.
◆ Создание таймера выполняется с помощью функции
time.NewTimer()
; в нее передаем длительность времени, которую необходимо ожидать.◆ В примере таймер имеет канал
C
, в который будет отправлено значение после истечения заданного времени.◆ Также возможно остановить таймер перед его активацией с помощью метода
Stop()
.🔹Тикеры (второй пример):
◆ Тикеры используются для выполнения действий через регулярные промежутки времени.
◆ Создание тикера также выполняется с помощью функции в пакете
time
, в данном случае time.NewTicker()
, с указанием интервала между «тиками».◆ Аналогично таймерам, тикеры имеют канал
C
, в который отправляется значение на каждом «тике».◆ Тикеры можно остановить, используя метод
Stop()
, что предотвратит дальнейшее отправление значений.