Introdução: Por que Rust é a Escolha de 2025
Em 2025, Rust continua conquistando confiantemente os corações dos desenvolvedores ao redor do mundo. De acordo com a pesquisa anual do Stack Overflow, Rust foi reconhecido como a linguagem de programação mais amada por oito anos consecutivos. Suas principais vantagens são segurança de memória sem um coletor de lixo e desempenho de alto nível, comparável a C e C++. Se você está familiarizado com Python, mas quer aprender a escrever aplicações de sistema rápidas e confiáveis, WebAssembly, ou até mesmo sistemas operacionais — Rust será seu próximo passo ideal.
Neste artigo, vamos detalhar por onde começar a aprender Rust em 2025: como instalar o toolchain, escrever seu primeiro programa e entender conceitos-chave. Vamos nessa!
1. Instalando Rust e Conhecendo o Cargo
A primeira coisa que você precisa fazer é instalar o compilador rustc e o gerenciador de pacotes Cargo. Em 2025, o processo é o mais simples possível.
Instalação via rustup
A forma oficial e recomendada é usar o utilitário rustup. Abra um terminal e execute o comando:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shO script oferecerá configurações padrão — basta pressionar Enter. Após a instalação, reinicie seu terminal ou execute:
source $HOME/.cargo/envVerifique se tudo funciona:
rustc --versioncargo --versionPrimeiro Programa: "Hello, world!"
Vamos criar um novo projeto usando Cargo:
cargo new hello_rustcd hello_rustO Cargo criará a estrutura de diretórios. Abra o arquivo src/main.rs — ele já contém um template:
fn main() { println!("Hello, world!");}Compile e execute o programa com um único comando:
cargo runVocê verá a tão esperada saudação. Parabéns, você escreveu seu primeiro programa em Rust!
2. Sintaxe Básica do Rust: Variáveis, Tipos e Funções
Rust é uma linguagem com tipagem estática forte, mas o compilador frequentemente infere os tipos automaticamente. Vamos detalhar as construções básicas.
Variáveis e Imutabilidade
Por padrão, todas as variáveis em Rust são imutáveis. Esta é uma das principais características da linguagem, garantindo segurança.
fn main() { let x = 5; // variável imutável // x = 6; // Erro! Não é possível alterar let mut y = 10; // variável mutável (mut) y += 5; // Agora y = 15 println!("x = {}, y = {}", x, y);}Tipos de Dados
Rust suporta tipos familiares: inteiros (i32, u64), ponto flutuante (f64), booleano (bool), caractere (char), e strings (String, &str).
fn main() { let a: i32 = -42; // inteiro com sinal let b: u8 = 255; // 8 bits sem sinal let c: f64 = 3.1415; // double let is_rust_cool = true; // bool let letter = 'R'; // char (4 bytes, Unicode) let greeting = String::from("Hello, Rust!"); println!("{} {} {} {} {} {}", a, b, c, is_rust_cool, letter, greeting);}Funções
Funções são declaradas usando a palavra-chave fn. O tipo de retorno é especificado após a seta ->.
fn add(x: i32, y: i32) -> i32 { x + y // a última expressão é o retorno (sem ponto e vírgula)}
fn main() { let sum = add(10, 20); println!("10 + 20 = {}", sum);}3. Conceito Chave: Propriedade e Empréstimo
O tópico mais complexo, porém mais importante em Rust, é o sistema de propriedade (ownership). É ele que garante a segurança de memória sem um coletor de lixo.