Modele dados estruturados e fronteiras de serialização
Use structs/enums para representar payloads e registros com segurança.
- Transformar registros estruturados em um resumo com tipagem forte.
Sistemas reais trocam payloads estruturados: requests de API, eventos, configurações e relatórios. Em Rust, structs e enums claras formam a base para fluxos de serialização seguros (normalmente com Serde em produção).
1#[derive(Debug)]
2struct Incident {
3 id: u32,
4 severity: u8,
5 resolved: bool,
6}
7
8fn main() {
9 let incidents = [
10 Incident { id: 1, severity: 5, resolved: true },
11 Incident { id: 2, severity: 9, resolved: false },
12 ];
13
14 let open_critical = incidents.iter().filter(|item| !item.resolved && item.severity >= 8).count();
15 println!("{}", open_critical);
16}1
Modelos tipados reduzem ambiguidade: um u8 para severidade ou bool para estado resolvido evita erros comuns de contratos frouxos.
Experimente
Até 15 XPClassifique campos por papel de tipo
Classifique cada campo pela categoria de tipo mais adequada.
“severity score”
“resolved flag”
“incident id”
“service name”
Principais conclusões
Dados tipados facilitam manutenção.
Relatórios e agregações ficam mais confiáveis.
Contratos claros reduzem bugs em integrações.
Quiz da aula
5 perguntas · aprovação com 4 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: escreva código em Rust
Estes exercícios rodam de verdade. Escreva o programa, clique em “Executar testes” e leia o que o compilador informa: aprender a ler as mensagens do compilador é metade do aprendizado de Rust.
Resuma incidentes abertos
Leia registros no formato id,severity,resolved separados por | e imprima quantos incidentes estão sem resolução (0) e com severidade >= 8.
- Conta críticos abertos
- Nenhum crítico aberto
As aulas de Rust foram escritas para o Rust estável moderno; os exercícios rodam no Rust 1.82 pelo Wandbox, um serviço público gratuito. Seu código-fonte e a entrada de teste são enviados a esse serviço.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…