0Pricing
Learn Rust Coding · Aula

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 mut para 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 mut torna 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 let são imutáveis por padrão, mas podem se tornar mutáveis com mut. Constantes const são sempre imutáveis.
  • Declaração: let usa let. const usa const.
  • Anotação de tipo: variáveis let geralmente podem ter seu tipo inferido. Constantes const devem ter o tipo especificado.
  • Escopo: constantes const podem 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 let para declarar variáveis, que são imutáveis por padrão.
  • Adicione mut para tornar uma variável mutável, permitindo que seu valor mude.
  • Use const para 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

  1. Variáveis, Mutabilidade e Sombreamento
  2. Tipos de Dados Primitivos e Operadores
  3. Funções e Fluxo de Controlo
← Voltar para Learn Rust Coding