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

Функция time.After

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

Синтаксис

time.After(duration)

Пример

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

package main import ( "fmt" "time" ) func main() { ch := time.After(2 * time.Second) t := <-ch fmt.Println(t) }

Результат выполнения кода (время будет зависеть от момента запуска):

"2026-09-04 14:23:45.123456789 +0300 MSK m=+2.000000001"

Пример

Используем time.After с оператором select для реализации таймаута при чтении из другого канала:

package main import ( "fmt" "time" ) func main() { dataCh := make(chan string) go func() { time.Sleep(1 * time.Second) dataCh <- "result" }() select { case msg := <-dataCh: fmt.Println("Received:", msg) case <-time.After(3 * time.Second): fmt.Println("Timeout") } }

Результат выполнения кода (если горутина успеет отправить данные до истечения 3 секунд):

"Received: result"

Пример

Используем time.After для создания задержки между выполнением действий в бесконечном цикле:

package main import ( "fmt" "time" ) func main() { for i := 1; i <= 3; i++ { fmt.Println("Iteration", i) <-time.After(500 * time.Millisecond) } }

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

"Iteration 1" "Iteration 2" "Iteration 3"

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

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