Pular para o conteúdo

22 · Expressões Temporais

Literais de Duração

Sufixos de unidade nos números: ns, us, ms, s, min, h, d, w — todos viram i64 em milissegundos.

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.

Índice global

Encontre seu caminho pela Zolo

Experimente uma ideia

Comece por aqui

9 resultados

9 resultados

enespt-br