Почему не компилируется?
n := 100
time.Sleep(n * time.Millisecond)
invalid operation: n * time.Millisecond (mismatched types int and time.Duration)
Ответ
В Go нет смешивания числовых типов. Вы можете умножить time.Duration только на
- другой time.Duration или
- нетипизированную целочисленную константу.
Вот три правильных примера.
var n time.Duration = 100
time.Sleep(n * time.Millisecond)
const n = 100
time.Sleep(n * time.Millisecond)
time.Sleep(100 * time.Millisecond)
Смотрите нетипизированные числовые константы без ограничений для деталей о типизированных и нетипизированных целочисленных и константах с плавающей запятой и их пределах.
Читайте также:
- Как получить текущую метку времени (timestamp) в Golang
- Количество дней между двумя датами в Golang
- Форматирование времени и даты в Golang
Комментариев нет:
Отправить комментарий