💬Предположим, что мы хотим выполнить код Go в какой-то момент в будущем или повторно через определенный интервал. Что необходимо использовать в таком случае?



📌Встроенные функции timer и ticker упрощают обе задачи, при этом таймеры предназначены для кейсов, когда мы хотим сделать что-то один раз в будущем, а тикеры — для кейсов, когда мы хотим сделать что-то повторно через определенные промежутки времени.



🔹Таймеры (первый пример):



◆ Таймеры представляют собой способ ожидания определенного времени перед выполнением действия.

◆ Создание таймера выполняется с помощью функции time.NewTimer(); в нее передаем длительность времени, которую необходимо ожидать.

◆ В примере таймер имеет канал C, в который будет отправлено значение после истечения заданного времени.

◆ Также возможно остановить таймер перед его активацией с помощью метода Stop().



🔹Тикеры (второй пример):



◆ Тикеры используются для выполнения действий через регулярные промежутки времени.

◆ Создание тикера также выполняется с помощью функции в пакете time, в данном случае time.NewTicker(), с указанием интервала между «тиками».

◆ Аналогично таймерам, тикеры имеют канал C, в который отправляется значение на каждом «тике».

◆ Тикеры можно остановить, используя метод Stop(), что предотвратит дальнейшее отправление значений.