Carregando
0xE0Lição 15 de 17

Modele dados estruturados e fronteiras de serialização

Use structs/enums para representar payloads e registros com segurança.

18 min Questionário com 5 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • 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).

main.rs
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}
Saída
1

Modelos tipados reduzem ambiguidade: um u8 para severidade ou bool para estado resolvido evita erros comuns de contratos frouxos.

Experimente

Até 15 XP

Classifique campos por papel de tipo

Classifique cada campo pela categoria de tipo mais adequada.

0 de 4 classificadosPontuação 0/0
  • “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.

Exercício 1

Resuma incidentes abertos

+25 XP

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
main.rs
Carregando editor…

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…