Rust · Essencial · Inglês · Técnico
Default
Trait que define um valor padrão para o tipo, via Default::default(). Pode ser derivado e combina com a sintaxe de atualização de struct, ..Default::default().
Onde usar
Aparece em structs de configuração e builders, para preencher só o que importa. Em review, a pergunta é se o valor padrão faz sentido para todos os campos.
Em código
#[derive(Default, Debug)]
struct Cfg { porta: u16, debug: bool }
let c = Cfg {
porta: 80,
..Default::default()
};
println!("{:?}", c);Exemplos
Fill the rest with Default.
Preencha o resto com Default.
Does a zero port make sense as the default?
Porta zero faz sentido como padrão?
Cuidado
Derivar Default põe zero, false ou vazio nos campos, o que pode não ser um estado válido do domínio.
Sinônimos
valor padrão