Executando verificação de segurança...
1

Aprenda Rust - 2 - Variáveis let, Mutabilidade e Sombreamento

Este é um guia separado em vários posts:

  1. Chega de adiar, venha ter a primeira aula de Rust!
  2. Variáveis let, Mutabilidade e Sombreamento (Você está aqui)
  3. Tipagem de dados (escrevendo...)

Em rust quase todas as variáveis são declaradas utilizando a palavra-chave let, existe ainda a palavra-chave const mas iremos utilizar quase sempre o let (atenção programadores JS não significam a mesma coisa que no JS). Bom, sem mais enrolação, abra o arquivo src/main.rs do projeto criado no ultimo post e vamos finalmente começar a programar:

  1. Adicione uma linha antes do println!("Hello, world!");
  2. Digite: let player = "elfo";;
  3. Altere a linha 3 para println!("Olá meu amigo {player}!");
    O código completo ficará dessa forma:
fn main() {
	let player = "elfo";
	println!("Olá meu amigo {player}!");
}

Executando cargo run teremos:

Olá meu amigo elfo!

🎯 Linha a Linha de main.rs

Caso você já seja programador e não sentiu dificuldade em entender o código acima, pode pular esta explicação linha a linha.

  1. Definição da função main
  2. Definição da variável onde:
    • let: palavra-chave utilizada para declarar uma variável;
    • player: nome da variável que está sendo definida;
    • = : símbolo para atribuição de valor, ou seja, estamos pegando o conteúdo da direita e jogando dentro da variável à esquerda;
    • "elfo": Valor que está sendo atribuído à variável player;
  3. Impressão do texto Olá meu amigo + o conteúdo da variável player + "!";
  4. Término do corpo da função

Mutabilidade

Rust é imutável por padrão, para entender isso vamos brincar com nosso src/main.rs:

  1. Adicione uma nova linha depois da linha 2 e digite player = "humano";
fn main() {
	let player = "elfo";
	player = "humano";
	println!("Olá meu amigo {player}!");
}

Executando cargo run teremos nosso primeiro erro deste guia:

error[E0384]: cannot assign twice to immutable variable player
(tradução: não é possível atribuir duas vezes a variável imutável player)

Para resolver essa situação basta adicionar a palavra-chave mut (mutable) após a let:

let mut player = "elfo";

Agora executando cargo run temos o esperado (e sem erros):

Olá meu amigo humano!

Sombreamento

Sombreamento é um pouco parecido com a mutabilidade, basicamente nos permite substituir uma variável por outra desta forma:

let player = "elfo";
let player = "anão";
println!("{player}"); // imprime: anão

Veremos já no próximo post uma diferença entre sombreamento e mutabilidade.

Carregando publicação patrocinada...