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 entreString,i32,f64e 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(),BufReadere tratamento de erros robusto.Escrever em Arquivo — Crie e escreva arquivos com
fs::write(),File::create(),BufWritere modo append.Ler Arquivo CSV — Parse de arquivos CSV usando a crate
csvcom deserialização viaserde, 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, usandofrom_str(),Valuee 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(), usejoin(), closuresmovee thread pools comrayon.Async/Await Básico — Programe de forma assíncrona com o runtime
tokio,async fn,.await,join!eselect!.
CLI
Construa ferramentas de linha de comando robustas e amigáveis com Rust.
Ler Argumentos da Linha de Comando — Processe argumentos com
std::env::argse a crateclapcom derive macros e validação.Ler Input do Usuário — Capture entrada do teclado com
stdin().read_line(),trim(),parse()e loops de validação.
Banco de Dados
Conecte sua aplicação Rust a bancos de dados relacionais com segurança e performance.
- Conectar ao PostgreSQL — Use
sqlxcomPgPool, variáveis de ambiente,query_as!e operações CRUD básicas.
Como Usar as Receitas
- Copie o
Cargo.toml— Cada receita lista as dependências necessárias - Copie o código — Todos os exemplos têm uma função
main()completa - Execute com
cargo run— Veja a saída esperada na seção de exemplo - 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.
Como Converter Entre Tipos de Erro em Rust
Em projetos reais, suas funções lidam com múltiplos tipos de erro — IO, parsing, validação, rede. Converter entre eles é essencial para que o operador ? …
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 …
Como Medir Tempo de Execução em Rust
Medir o tempo de execução é essencial para otimizar performance. Rust oferece std::time::Instant na biblioteca padrão para medições simples e a crate criterion …
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 …
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 …
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 …
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 …
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 legível que …
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 …
Como Ler Variáveis de Ambiente em Rust
Variáveis de ambiente são a forma padrão de configurar aplicações em ambientes de produção, containers Docker e plataformas de deploy. Rust oferece …