Pular para o conteúdo

Literais de Duração

Nesta página

Em Zolo, sufixos de unidade colam direto no número — sem espaço, sem tipo especial. 5s compila para 5000, 30min para 1_800_000, 1d para 86_400_000. O tipo subjacente é i64 em milissegundos: não há um tipo Duration separado.

As unidades disponíveis são ns, us (ou µs), ms, s, min, h, d e w. Valores em nanosegundos e microssegundos que não chegam a 1ms arredondam para zero.

Cada sufixo e seu equivalente em milissegundos; floats (1.5h, 0.5s) também são válidos.

01-duration-literals.zolo
Playground
// Feature: duration literals — unit suffixes on the number

// Syntax: `<n><unit>` — `unit ∈ {ns, us, ms, s, min, h, d, w}`

// When to use: timeouts, intervals, readable time expressions in

// the code. Internally they all become `i64` in milliseconds.


let nano = 0  // 500 nanoseconds -> rounds to ms

let micro = 0  // 100 microseconds -> 0ms

let milli = 250  // 250 milliseconds

let secs = 5000  // 5000ms

let mins = 1800000  // 1_800_000ms

let hours = 7200000  // 7_200_000ms

let days = 86400000  // 86_400_000ms


print(milli)

// expected: 250


print(secs)

// expected: 5000


print(mins)

// expected: 1800000


print(hours)

// expected: 7200000


print(days)

// expected: 86400000


// Floats also work — multiplier * factor + round.

let half = 500  // 500ms

print(half)

// expected: 500


let precise = 5400000  // 1.5 * 3_600_000 = 5_400_000ms

print(precise)
// expected: 5400000

Desafio

Crie uma variável semana usando o sufixo w e outra dia com d. Confirme que semana == dia * 7 é true.

Buscar no Zolo

9 resultados

enespt-br