ExpertiDict

Go · Essencial · Inglês · Técnico

time.Duration

/taɪm dʊˈɹeɪ.ʃən/tipo

Tipo que representa um intervalo de tempo em nanossegundos, implementado como int64. Multiplicado por constantes como time.Second, expressa prazos e esperas.

Onde usar

Usado em timeouts, sleeps e tickers. Como a unidade é nanossegundo, passar um inteiro puro sem multiplicar por time.Second é erro frequente.

Em código

n := 5
time.Sleep(time.Duration(n) * time.Second)
d := 1500 * time.Millisecond
fmt.Println(d)           // 1.5s
fmt.Println(d.Seconds()) // 1.5

Exemplos

Sleep for time.Duration(n) times time.Second.

Durma por time.Duration(n) vezes time.Second.

The timeout was one nanosecond because I forgot time.Second.

O timeout era de um nanossegundo porque esqueci o time.Second.

Cuidado

Para converter uma variável inteira, escreva time.Duration(n) * time.Second; multiplicar dois Durations compila, mas dá um valor absurdo.

Veja também

Todos os termos de Go