Receitas Rust: Como Fazer X em Rust

Receitas práticas de Rust com exemplos completos e executáveis. Aprenda como fazer as tarefas mais comuns em Rust com código pronto para usar.

Receitas Rust

Bem-vindo à nossa coleção de receitas práticas em Rust! Cada receita resolve um problema específico com código completo e executável. Se você está procurando como fazer algo em Rust, provavelmente vai encontrar a resposta aqui.

Todas as receitas incluem dependências do Cargo.toml, código completo com main() e exemplos de saída.


Strings

Manipulação de strings é uma das tarefas mais comuns em qualquer linguagem. Em Rust, o sistema de tipos torna o trabalho com strings seguro e eficiente.

  • Converter String para Número — Use parse(), from_str() e trate erros de conversão entre String, i32, f64 e outros tipos numéricos.

  • Formatar Strings — Domine format!(), println!(), write!() com padding, precisão, argumentos nomeados e formatação personalizada.

  • Dividir String (Split) — Quebre strings com split(), splitn(), split_whitespace(), lines() e regex.


Arquivos

Leitura e escrita de arquivos são operações fundamentais. Rust oferece APIs seguras e ergonômicas para manipulação de arquivos.

  • Ler Arquivo — Leia arquivos inteiros ou linha por linha com fs::read_to_string(), BufReader e tratamento de erros robusto.

  • Escrever em Arquivo — Crie e escreva arquivos com fs::write(), File::create(), BufWriter e modo append.

  • Ler Arquivo CSV — Parse de arquivos CSV usando a crate csv com deserialização via serde, cabeçalhos e delimitadores personalizados.


HTTP

Construa clientes e servidores HTTP de alta performance com o ecossistema async do Rust.

  • Fazer Requisição HTTP — Envie requisições GET e POST com a crate reqwest, incluindo headers, corpo JSON e chamadas assíncronas.

  • Criar Servidor HTTP — Monte um servidor web com axum, defina rotas, handlers e retorne respostas JSON.


JSON

Serialize e deserialize dados JSON com segurança de tipos usando serde — a biblioteca de serialização mais popular do ecossistema Rust.

  • Parse JSON — Converta JSON para structs Rust com serde_json, usando from_str(), Value e deserialização tipada.

  • Serializar Struct para JSON — Transforme structs Rust em JSON com Serialize, to_string(), to_writer() e formatação pretty-print.


Concorrência

Aproveite o poder do paralelismo e da concorrência em Rust com segurança garantida em tempo de compilação.

  • Executar Threads — Crie threads com thread::spawn(), use join(), closures move e thread pools com rayon.

  • Async/Await Básico — Programe de forma assíncrona com o runtime tokio, async fn, .await, join! e select!.


CLI

Construa ferramentas de linha de comando robustas e amigáveis com Rust.


Banco de Dados

Conecte sua aplicação Rust a bancos de dados relacionais com segurança e performance.

  • Conectar ao PostgreSQL — Use sqlx com PgPool, variáveis de ambiente, query_as! e operações CRUD básicas.

Como Usar as Receitas

  1. Copie o Cargo.toml — Cada receita lista as dependências necessárias
  2. Copie o código — Todos os exemplos têm uma função main() completa
  3. Execute com cargo run — Veja a saída esperada na seção de exemplo
  4. Adapte ao seu projeto — Use o código como ponto de partida

Precisa de algo que não está aqui? Confira nosso guia completo de Rust ou visite a documentação oficial.

rust

Executar Threads em Rust

Executar Threads em Rust Rust torna a programação com threads segura em tempo de compilação. O sistema de ownership garante que você não terá data races, e a …

rust

Async/Await Básico em Rust

Async/Await Básico em Rust A programação assíncrona em Rust permite executar muitas tarefas de I/O concorrentemente sem o custo de criar threads do sistema …

rust

Ler Argumentos da Linha de Comando em Rust

Ler Argumentos da Linha de Comando em Rust Processar argumentos de linha de comando é fundamental para criar ferramentas CLI. Rust oferece std::env::args na …

rust

Ler Input do Usuário em Rust

Ler Input do Usuário em Rust Ler dados digitados pelo usuário no terminal é uma necessidade básica de programas interativos. Rust usa std::io::stdin() para …

rust

Conectar ao PostgreSQL em Rust

Conectar ao PostgreSQL em Rust A crate sqlx é a biblioteca mais popular para acesso a bancos de dados em Rust. Ela é totalmente assíncrona, suporta verificação …

rust

Como Usar HashMap em Rust

O HashMap é uma das estruturas de dados mais úteis em Rust. Ele armazena pares chave-valor com busca em tempo O(1) amortizado, sendo ideal para caches, …

rust

Como Ordenar Vetor em Rust

Ordenar dados é uma das operações mais comuns em programação. Rust oferece métodos de ordenação eficientes diretamente nos slices e vetores, com suporte a …

rust

Como Filtrar Vetor em Rust

Filtrar coleções é uma tarefa fundamental em qualquer linguagem. Rust oferece diversos métodos para filtrar dados de forma eficiente e expressiva, desde …

rust

Como Iterar Coleções em Rust

Os iteradores são o coração da programação funcional em Rust. Eles oferecem uma forma expressiva, segura e eficiente de processar coleções — com zero custo em …

rust

Como Tratar Erros em Rust (Result e Option)

Tratar erros corretamente é essencial para escrever software confiável. Rust usa os tipos Result<T, E> e Option<T> em vez de exceções, forçando você a lidar com …