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"
}Desafio
InicianteEscreva um programa em Rust que demonstre o conceito de shadowing (sombreamento). Execute os seguintes passos:
- Declare uma variável chamada
xe inicialize-a com o valor5. - Imprima o valor de
xno console no seguinte formato:x is: … - Aplique o shadowing em
xcom um novo valor que seja oxoriginal mais3dentro de um novo escopo. - Imprima o
xsombreado no seguinte formato:x is: … - Finalmente, imprima
xfora 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
}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
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Entrada e Saída Básica
Exibindo no ConsoleLendo a Entrada do UsuárioRevisão - Até 120Revisão - Verdadeiro ou Falso5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaInferência de TipoRecapitulação - Inicializar VariáveisConversão de Tipo9Laços
For sobre SériesLaço WhileBreakContinueLaços AninhadosRótulos de LoopLoop InfinitoRecapitulação - Entrada Dinâmica