Pular para o conteúdo

Valores Padrão

Nesta página

A sintaxe schema Nome { campo: Tipo = padrão } associa um valor padrão a cada campo. Chamar Nome.default() retorna uma instância com todos os campos preenchidos — sem argumentos, sem mapa, sem validação. É a escolha certa para configurações e objetos de requisição onde "o estado inicial já é significativo".

Config.default() preenche porta, host e modo debug sem nenhum argumento.

01-defaults.zolo
Playground
// Feature: schema with default values — `Schema.default()` builds an instance

// Syntax: `schema Name { field: type = default, ... }`. Calling

// `Name.default()` returns an instance with every field set.

// When to use: configs, settings, request bodies — when "the default

// shape is meaningful and you want zero-arg construction".


schema Config {
  port: int = 8080,
  host: str = "localhost",
  debug: bool = false,
}

let cfg = Config.default()
print(cfg.port)

// expected: 8080

print(cfg.host)

// expected: localhost

print(cfg.debug)

// expected: false


// Fields are accessed like struct fields.

print("listening on {cfg.host}:{cfg.port}")
// expected: listening on localhost:8080

Desafio

Adicione um campo timeout: int = 30 ao schema Config e imprima cfg.timeout. O que acontece se você remover o valor padrão e chamar Config.default() novamente?

Buscar no Zolo

9 resultados

enespt-br