En Rust, las variables son una parte fundamental del lenguaje y su manejo es crucial para escribir programas eficientes y seguros. En esta sección, aprenderemos cómo declarar variables, la diferencia entre variables mutables e inmutables, y cómo funciona la sombra de variables.

Declaración de Variables

En Rust, las variables se declaran usando la palabra clave let. Por defecto, las variables son inmutables, lo que significa que una vez que se les asigna un valor, no se puede cambiar.

fn main() {
    let x = 5;
    println!("El valor de x es: {}", x);
}

Explicación del Código

  • let x = 5;: Declara una variable x y le asigna el valor 5.
  • println!("El valor de x es: {}", x);: Imprime el valor de x en la consola.

Mutabilidad

Para declarar una variable mutable, se utiliza la palabra clave mut. Esto permite cambiar el valor de la variable después de su declaración.

fn main() {
    let mut y = 10;
    println!("El valor inicial de y es: {}", y);
    y = 20;
    println!("El nuevo valor de y es: {}", y);
}

Explicación del Código

  • let mut y = 10;: Declara una variable mutable y y le asigna el valor 10.
  • y = 20;: Cambia el valor de y a 20.

Sombra de Variables

Rust permite declarar una nueva variable con el mismo nombre que una variable anterior. Esto se conoce como "sombra de variables" y la nueva variable "sombra" a la anterior.

fn main() {
    let z = 15;
    println!("El valor de z es: {}", z);
    let z = z + 5;
    println!("El nuevo valor de z es: {}", z);
}

Explicación del Código

  • let z = 15;: Declara una variable z y le asigna el valor 15.
  • let z = z + 5;: Declara una nueva variable z que "sombra" a la anterior y le asigna el valor 20.

Ejercicios Prácticos

Ejercicio 1: Declaración y Mutabilidad

  1. Declara una variable inmutable a con el valor 3.
  2. Intenta cambiar el valor de a a 6 y observa el error.
  3. Declara una variable mutable b con el valor 7.
  4. Cambia el valor de b a 14.
fn main() {
    // Paso 1
    let a = 3;
    println!("El valor de a es: {}", a);

    // Paso 2 (Descomentar para ver el error)
    // a = 6;

    // Paso 3
    let mut b = 7;
    println!("El valor inicial de b es: {}", b);

    // Paso 4
    b = 14;
    println!("El nuevo valor de b es: {}", b);
}

Ejercicio 2: Sombra de Variables

  1. Declara una variable c con el valor 8.
  2. Sombra la variable c con una nueva variable c cuyo valor sea c * 2.
  3. Imprime ambos valores de c.
fn main() {
    // Paso 1
    let c = 8;
    println!("El valor inicial de c es: {}", c);

    // Paso 2
    let c = c * 2;
    println!("El nuevo valor de c es: {}", c);
}

Soluciones

Solución al Ejercicio 1

fn main() {
    // Paso 1
    let a = 3;
    println!("El valor de a es: {}", a);

    // Paso 2 (Descomentar para ver el error)
    // a = 6; // Error: cannot assign twice to immutable variable `a`

    // Paso 3
    let mut b = 7;
    println!("El valor inicial de b es: {}", b);

    // Paso 4
    b = 14;
    println!("El nuevo valor de b es: {}", b);
}

Solución al Ejercicio 2

fn main() {
    // Paso 1
    let c = 8;
    println!("El valor inicial de c es: {}", c);

    // Paso 2
    let c = c * 2;
    println!("El nuevo valor de c es: {}", c);
}

Resumen

En esta sección, hemos aprendido cómo declarar variables en Rust, la diferencia entre variables mutables e inmutables, y cómo funciona la sombra de variables. Estos conceptos son fundamentales para escribir programas en Rust de manera eficiente y segura. En la próxima sección, exploraremos los diferentes tipos de datos disponibles en Rust.

© Copyright 2024. Todos los derechos reservados