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.
Converter String para Número em Rust
Converter String para Número em Rust
Converter uma String (ou &str) para um tipo numérico é uma das operações mais comuns em Rust. O método parse() é a …
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 …
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 maisLer 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 maisEscrever 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 maisLer 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 …
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 …
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 …
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 …
Serializar Struct para JSON em Rust
Serializar Struct para JSON em Rust
Serializar dados Rust para JSON é essencial para APIs, configurações e troca de dados. A crate serde com serde_json torna …
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 maisAsync/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 maisLer 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 …
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 …
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 …
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, …
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 maisComo 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 maisComo 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 maisComo 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ê …
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 …
Leia maisComo 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 …
Leia maisComo 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 …
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 maisComo 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 …
Leia mais