Menu
Coddy logo textTech

Shadowing Parte 1

Parte da seção Fundamentals do Journey de Rust da Coddy — lição 46 de 75.

Você pode declarar uma nova variável com o mesmo nome de uma variável anterior em um escopo diferente. A nova variável sombreia a anterior até o fim de seu escopo:

fn main() {
    let x = 5;
    {
        let x = 12;
        // sombreia o x externo
        println!("{}", x);
        // imprime "12"
    }
    
    println!("{}", x);
    // imprime "5"
}
challenge icon

Desafio

Iniciante

Escreva um programa em Rust que demonstre o conceito de shadowing (sombreamento). Execute os seguintes passos:

  1. Declare uma variável chamada x e inicialize-a com o valor 5.
  2. Imprima o valor de x no console no seguinte formato: x is: …
  3. Aplique o shadowing em x com um novo valor que seja o x original mais 3 dentro de um novo escopo.
  4. Imprima o x sombreado no seguinte formato: x is: …
  5. Finalmente, imprima x fora do escopo no seguinte formato: x is: …

Folha de consulta

Você pode declarar uma nova variável com o mesmo nome de uma variável anterior em um escopo diferente. A nova variável sombreia a anterior até o fim de seu escopo:

fn main() {
    let x = 5;
    {
        let x = 12;
        // sombreia o x externo
        println!("{}", x);
        // imprime "12"
    }
    
    println!("{}", x);
    // imprime "5"
}

Experimente você mesmo

fn main() {
    // Declara x e inicializa-o com 5
    
    // Imprime o valor de x
    
    {
        // Sombreia x com o x original mais 3
        
        // Imprime o valor do x sombreado
        
    }
    // Imprime o valor do x externo
    
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentals