Curso de Rust

Shadowing

Capítulo 7: ¿Qué es shadowing y cómo se utiliza en Rust?

El sombreado, eclipsado o shadowing en inglés, es por decirlo de forma simple, una redeclaración de variable.

No confundas redeclaración con reasignación. Lo primero significa volver a declarar, y lo segundo volver a asignar un valor.

Ejemplo de shadowing

fn main() {
    let a = 10;

    let a = 30;

    print!("La variable contiene el valor: {}", a)
}
warning: unused variable: `a`
--> src\main.rs:2:9
    |
2   |     let a = 10;
    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: `hola_mundo` (bin "hola_mundo") generated 1 warning
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.84s
    Running `target\debug\hola_mundo.exe`
La variable contiene el valor: 30

En el siguiente código tenemos una variable, que es eclipsada por la segunda. En efecto, son dos variables diferentes.

Para conseguir hacer esto, solo tenemos que redeclarar variables con la palabra let.

El valor que se imprime en la consola es el de la segunda variable. Además, me indica con una advertencia, que la variable a declarada primero, no se está utilizando en el código.

Comentarios

Si te quedan dudas sobre el temario, sobre HTML, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.