Функция time.Sleep

Функция time.Sleep приостанавливает выполнение текущей горутины на заданный промежуток времени. В единственный параметр функция принимает значение типа time.Duration, которое определяет продолжительность паузы.

Синтаксис

gotime.Sleep(duration)

Пример

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

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  fmt.Println("Start")
  time.Sleep(2 * time.Second)
  fmt.Println("End")
}

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

go"Start"
"End"

Между выводом строк "Start" и "End" будет пауза продолжительностью 2 секунды.

Пример

Давайте приостановим выполнение программы на 500 миллисекунд:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  fmt.Println("Start")
  time.Sleep(500 * time.Millisecond)
  fmt.Println("End")
}

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

go"Start"
"End"

Пример

Давайте используем переменную типа time.Duration для указания времени паузы:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  fmt.Println("Start")
  duration := 3 * time.Second
  time.Sleep(duration)
  fmt.Println("End")
}

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

go"Start"
"End"

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

  • функцию time.After,
    которая возвращает канал, отправляющий значение после задержки
  • функцию time.AfterFunc,
    которая запускает функцию после указанной задержки
  • функцию time.NewTimer,
    которая создает таймер для однократного срабатывания
  • функцию time.NewTicker,
    которая создает тикер для периодического срабатывания