Bloco comptime
Nesta página
A forma mais direta de avaliação em tempo de compilação é o bloco comptime.
Você escreve comptime { ... } como faria com qualquer bloco de código: declare
variáveis, faça cálculos, escreva a expressão final sem ponto-e-vírgula como
valor de retorno. O compilador executa esse bloco e substitui toda a
expressão pelo valor resultante — o programa em execução nunca vê o bloco, só
o literal.
Isso significa que o custo computacional do bloco não existe em produção: cada operação acontece uma única vez, no momento em que você compila.
Bloco comptime básico: duas variáveis e uma multiplicação baked como literal.
// Feature: comptime block — evaluate at compile time, bake the result
// Syntax: `comptime { ... <tail expr> }` runs in the compiler and
// substitutes the final value into the program.
// When to use: precompute lookup tables, expensive constants,
// configuration baked from build flags. Zero runtime cost.
let answer = comptime {
let a = 6
let b = 7
a * b
}
print(answer)
// expected: 42
Desafio
Troque os valores de a e b por math.sqrt(144.0) e math.sqrt(49.0) e
observe que funções da stdlib também funcionam dentro de um bloco comptime.
Veja também