Carregando
0x40Lição 5 de 17

Trabalhe com String e string slices

Entenda `String`, `&str`, ownership e borrowing em texto.

18 min Questionário com 5 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • Usar slices emprestados de string e Strings owned corretamente.

String é um buffer UTF-8 owned e redimensionável. &str é uma visão emprestada dos dados de texto. APIs de leitura normalmente devem receber &str para aceitar literais e Strings owned.

main.rs
1fn shout_prefix(name: &str) -> String {
2    format!("Hi, {}!", name)
3}
4
5fn main() {
6    let user = String::from("Ferris");
7    println!("{}", shout_prefix(&user));
8}
Saída
Hi, Ferris!

Prefira &str em parâmetros quando só precisar ler texto. Isso evita moves ou clones desnecessários e deixa a API mais flexível.

Experimente

Até 15 XP

Owned ou borrowed?

Classifique cada trecho como texto owned (String) ou borrowed (&str).

0 de 4 classificadosPontuação 0/0
  • “String::from("rust")”

  • “"rust"”

  • “name.trim()”

  • “format!("{}!", word)”

Principais conclusões

  • String possui os dados; &str apenas referencia.

  • Use trim e outras operações que retornam &str quando possível.

  • Assinaturas com &str aumentam reutilização de funçã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.

Exercício 1

Normalize e cumprimente

+25 XP

Leia uma linha, remova espaços no início/fim e imprima Hello, <name>!.

  • Remove espaços
  • Nome simples
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…