Variáveis, Mutabilidade e Sombreamento
Compreenda como declarar variáveis, gerir a mutabilidade e utilizar o sombreamento para redefinir variáveis com flexibilidade.
Variáveis, Mutabilidade e Sombreamento é uma aula grátis de Learn Rust Coding no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn Rust Coding, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn Rust Coding inclui 3 aulas no total.
Introdução às variáveis do Rust
Boas-vindas! No Rust, as variáveis são fundamentais para armazenar dados. Elas são como caixas etiquetadas nas quais você guarda as informações de que seu programa precisa.
O Rust dá grande ênfase à segurança, e isso começa pela forma como lida com as variáveis. Você aprenderá a declará-las, controlar se podem ser alteradas e até mesmo "redefini-las" de maneiras inteligentes.
Declarando variáveis com `let`
Para criar uma variável no Rust, usamos a palavra-chave let. Ela atribui um nome a um valor. O Rust geralmente infere o tipo, portanto nem sempre é necessário especificá-lo.
Experimente executar este exemplo simples:
fn main() {
let apples = 5;
println!("I have {} apples.", apples);
}A imutabilidade padrão do Rust
Um conceito importante do Rust é que as variáveis são imutáveis por padrão. Depois que você atribui um valor a uma variável, não pode alterá-lo mais tarde.
Isso pode parecer restritivo, mas ajuda a evitar falhas e torna seu código mais seguro e fácil de compreender, especialmente na programação concorrente.
Tornando variáveis mutáveis com `mut`
Se precisar alterar o valor de uma variável, você pode torná-la explicitamente mutável usando a palavra-chave mut antes do nome da variável.
Isso informa ao Rust — e a outros desenvolvedores — que o valor dessa variável deve ser alterado.
fn main() {
let mut score = 100;
println!("Initial score: {}", score);
score = 150; // We can change it now!
println!("New score: {}", score);
}Quando usar `mut`
Embora mut seja poderoso, é uma boa prática usá-lo apenas quando necessário. Dê preferência à imutabilidade por padrão.
- Use
mutpara contadores, variáveis de estado ou valores que realmente precisem ser atualizados. - Se um valor nunca mudar depois da atribuição inicial, mantenha-o imutável (sem
mut). - Clareza: marcar explicitamente uma variável como
muttorna mais clara a intenção do seu código.
Definindo constantes com `const`
Constantes são tipos especiais de variáveis imutáveis. Elas são declaradas com a palavra-chave const, em vez de let, e devem sempre ter seu tipo anotado explicitamente.
Constantes só podem receber expressões constantes, não o resultado de uma chamada de função nem qualquer valor que só possa ser calculado durante a execução.
fn main() {
const MAX_USERS: u32 = 10_000; // Type annotation is required!
println!("Max users allowed: {}", MAX_USERS);
}Variáveis `let` versus constantes `const`
Veja as principais diferenças entre variáveis let e constantes const:
- Mutabilidade: variáveis
letsão imutáveis por padrão, mas podem se tornar mutáveis commut. Constantesconstsão sempre imutáveis. - Declaração:
letusalet.constusaconst. - Anotação de tipo: variáveis
letgeralmente podem ter seu tipo inferido. Constantesconstdevem ter o tipo especificado. - Escopo: constantes
constpodem ser declaradas em qualquer escopo, incluindo o escopo global.
Introduzindo o sombreamento
O Rust permite declarar uma variável nova com o mesmo nome de uma variável anterior. Isso é chamado de sombreamento.
A nova variável "oculta" a antiga, o que significa que qualquer código posterior verá o valor da nova variável. A variável antiga ainda existe na memória, mas não pode mais ser acessada diretamente.
fn main() {
let x = 5;
println!("First x: {}", x); // Outputs 5
let x = x + 1; // 'x' is shadowed by a new 'x'
println!("Second x: {}", x); // Outputs 6
{ // Inner scope
let x = x * 2; // 'x' is shadowed again
println!("Inner x: {}", x); // Outputs 12
}
println!("Outer x: {}", x); // Outputs 6 (inner x is out of scope)
}Sombreamento para conversão de tipos
Um uso poderoso do sombreamento é transformar o valor e até mesmo o tipo de uma variável, mantendo o mesmo nome. Isso é comum quando você precisa analisar uma cadeia de caracteres e convertê-la em um número.
Em vez de criar um novo nome de variável (por exemplo, string_val e depois num_val), você pode reutilizar o mesmo nome.
fn main() {
let spaces = " ";
println!("Spaces string: '{}'", spaces);
// Shadow 'spaces' with a new variable that holds its length
let spaces = spaces.len();
println!("Spaces count: {}", spaces);
}Verificação rápida: variáveis e mutabilidade
Considere o código Rust a seguir. Qual será o valor final de y exibido no console?
Recapitulação: variáveis, mutabilidade e sombreamento
Excelente trabalho! Você aprendeu os fundamentos das variáveis no Rust:
- Use
letpara declarar variáveis, que são imutáveis por padrão. - Adicione
mutpara tornar uma variável mutável, permitindo que seu valor mude. - Use
constpara constantes, que são sempre imutáveis e exigem anotações de tipo. - O sombreamento permite declarar uma nova variável com o mesmo nome, substituindo a anterior. Isso é útil para conversões de tipo.
A seguir, vamos explorar os vários tipos de dados primitivos do Rust!
Perguntas Frequentes
A aula “Variáveis, Mutabilidade e Sombreamento” é grátis?
Sim — o texto completo de “Variáveis, Mutabilidade e Sombreamento” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn Rust Coding, atualize para CoddyKit PRO. O curso de Learn Rust Coding inclui 3 aulas no total.
O que vou aprender em “Variáveis, Mutabilidade e Sombreamento”?
Compreenda como declarar variáveis, gerir a mutabilidade e utilizar o sombreamento para redefinir variáveis com flexibilidade. Você pratica Learn Rust Coding com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn Rust Coding?
Nenhuma experiência prévia é necessária. Learn Rust Coding no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.
Quanto tempo leva a aula “Variáveis, Mutabilidade e Sombreamento”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn Rust Coding?
Sim. Cada aula de Learn Rust Coding inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Variáveis, Mutabilidade e Sombreamento
- Tipos de Dados Primitivos e Operadores
- Funções e Fluxo de Controlo