O Trait Default

O trait Default fornece uma implementação padrão para um tipo.

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 5 minutes.
  • Ele pode ser implementado diretamente ou derivado usando #[derive(Default)].
  • A implementação usando derive produz um valor onde todos os campos são preenchidos com seus valores padrão.
    • Consequentemente, todos os tipos usados no struct devem implementar Default também.
  • Frequentemente, os tipos padrão do Rust implementam Default com valores razoáveis (p.ex.: 0, "", etc).
  • A inicialização parcial do struct funciona bem com o default.
  • A bilioteca padrão do Rust sabe que tipos podem implementar o trait Default e, convenientemente, provê métodos para isso.
  • A sintaxe .. é chamada de sintaxe de atualização de struct.