Use traits e generics
Escreva comportamento reutilizável com trait bounds.
- Definir funções genéricas limitadas por traits.
Generics permitem que uma função funcione para vários tipos. Traits definem comportamento exigido. Juntos, trait bounds como T: PartialOrd indicam quais operações o código genérico pode usar.
1fn max_value<T: PartialOrd + Copy>(a: T, b: T) -> T {
2 if a > b { a } else { b }
3}
4
5fn main() {
6 println!("{}", max_value(3, 9));
7}9
Trait bounds funcionam como contratos: deixam o reuso explícito e seguro em tipos. Comece com traits padrão como PartialOrd, Display e Clone.
Experimente
Até 15 XPFluxo de decisão de trait bound
Acompanhe como uma função genérica escolhe o bound necessário para compilar.
Principais conclusões
Generics evitam duplicação de lógica.
Traits descrevem capacidades necessárias.
Bounds conectam genericidade e segurança de compilação.
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.
Escolha o maior inteiro
Implemente max_i32(a, b) retornando o maior valor entre dois i32 e imprima o resultado.
- Segundo maior
- Primeiro maior
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…