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

Formatar Strings em Rust

Formatar Strings em Rust

Rust oferece um sistema de formatação poderoso e seguro em tempo de compilação. As macros format!(), println!() e write!() usam a mesma …

Leia mais
rust

Dividir String em Rust (Split)

Dividir String em Rust (Split)

Dividir strings em partes menores é uma operação fundamental em processamento de texto. Rust oferece vários métodos nativos para …

Leia mais
rust

Ler Arquivo em Rust

Ler Arquivo em Rust

Ler arquivos é uma operação essencial em qualquer programa. Rust fornece APIs seguras e eficientes para leitura de arquivos, desde métodos …

Leia mais
rust

Escrever em Arquivo em Rust

Escrever em Arquivo em Rust

Rust oferece várias formas de escrever em arquivos, desde funções simples de uma linha até escrita bufferizada para alta …

Leia mais
rust

Ler Arquivo CSV em Rust

Ler Arquivo CSV em Rust

A crate csv é a solução padrão para trabalhar com arquivos CSV em Rust. Combinada com serde, ela permite deserializar linhas do CSV …

Leia mais
rust

Fazer Requisição HTTP em Rust

Fazer Requisição HTTP em Rust

A crate reqwest é a biblioteca HTTP mais popular do ecossistema Rust. Ela suporta requisições síncronas e assíncronas, headers …

Leia mais
rust

Criar Servidor HTTP em Rust

Criar Servidor HTTP em Rust

O axum é um framework web moderno e ergonômico, construído sobre o ecossistema tokio e tower. Ele oferece rotas tipadas, extração …

Leia mais
rust

Parse JSON em Rust

Parse JSON em Rust

A crate serde_json é a ferramenta padrão para trabalhar com JSON em Rust. Ela permite deserializar JSON tanto para structs tipadas quanto …

Leia mais
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 …

Leia mais
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 …

Leia mais
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 …

Leia mais
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 …

Leia mais
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, …

Leia mais
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 …

Leia mais
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 …

Leia mais
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 …

Leia mais
rust

Como Trabalhar com Datas em Rust

Trabalhar com datas e horários é uma necessidade comum em quase todo projeto. A biblioteca padrão do Rust oferece apenas std::time::SystemTime para o tempo do …

Leia mais
rust

Como Usar Regex em Rust

Expressões regulares (regex) são poderosas para buscar, validar e transformar texto. A crate regex do Rust é conhecida por sua performance excepcional e …

Leia mais
rust

Como Validar Email em Rust

Validar endereços de email é uma das tarefas mais comuns em aplicações web e CLIs. Existem diferentes níveis de validação, desde uma verificação simples de …

Leia mais
rust

Como Gerar Hash SHA-256 em Rust

Hashing criptográfico é fundamental para verificar integridade de dados, armazenar senhas (com salt), gerar fingerprints e muito mais. A crate sha2 faz parte do …

Leia mais
rust

Como Gerar UUID em Rust

UUIDs (Universally Unique Identifiers) são identificadores de 128 bits usados para identificar recursos de forma única sem coordenação central. São essenciais …

Leia mais
rust

Como Ler Arquivo TOML em Rust

TOML (Tom’s Obvious, Minimal Language) é o formato de configuração padrão do ecossistema Rust — o próprio Cargo.toml usa este formato. Ele é mais …

Leia mais
rust

Como Ler Arquivo YAML em Rust

YAML é um formato popular para arquivos de configuração, especialmente em ferramentas DevOps como Docker Compose, Kubernetes e CI/CD pipelines. A crate …

Leia mais