РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
736 of 1593 menu

Функция time.Tick

Функция time.Tick создает новый канал типа <-chan time.Time, который будет отправлять текущее время через равные промежутки времени. В единственный параметр функция принимает значение типа time.Duration, которое определяет интервал между сигналами. Функция удобна для выполнения действий с заданной периодичностью, но следует помнить, что созданный тикер нельзя остановить, поэтому для долгоживущих приложений лучше использовать time.NewTicker.

Синтаксис

time.Tick(d)

Пример

Давайте создадим канал, который будет отправлять сигнал каждые 500 миллисекунд:

package main import ( "fmt" "time" ) func main() { ticker := time.Tick(500 * time.Millisecond) for i := 0; i < 5; i++ { t := <-ticker fmt.Println(t) } }

Результат выполнения кода:

"2026-09-04 15:00:00.123456 +0300 MSK m=+0.500123456" "2026-09-04 15:00:00.623456 +0300 MSK m=+1.000123456" "2026-09-04 15:00:01.123456 +0300 MSK m=+1.500123456" "2026-09-04 15:00:01.623456 +0300 MSK m=+2.000123456" "2026-09-04 15:00:02.123456 +0300 MSK m=+2.500123456"

Пример

Давайте используем тикер для выполнения действия каждую секунду в течение 3 секунд:

package main import ( "fmt" "time" ) func main() { ticker := time.Tick(1 * time.Second) for i := 0; i < 3; i++ { <-ticker fmt.Println("Tick", i+1) } }

Результат выполнения кода:

"Tick 1" "Tick 2" "Tick 3"

Пример

Давайте используем тикер с интервалом 2 секунды для вывода текущего времени:

package main import ( "fmt" "time" ) func main() { ticker := time.Tick(2 * time.Second) for i := 0; i < 3; i++ { t := <-ticker fmt.Println("Current time:", t.Format("15:04:05")) } }

Результат выполнения кода:

"Current time: 15:00:02" "Current time: 15:00:04" "Current time: 15:00:06"

Смотрите также

  • функцию time.NewTicker,
    которая создает управляемый тикер с возможностью остановки
  • функцию time.After,
    которая создает канал для однократного сигнала через заданное время
  • функцию time.Sleep,
    которая приостанавливает выполнение на заданный интервал
  • функцию time.Duration,
    которая представляет собой интервал времени в наносекундах
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить