Variables en Rust

Las variables son direcciones de memoria que se utilizan para almacenar información para ser referenciada y manipulada en los programas. También brindan una forma de definir los datos con un nombre descriptivo, de modo que nuestros programas puedan ser entendidos más claramente por el lector y por nosotros mismos. Es útil pensar en las variables como contenedores que contienen información. Su único propósito es etiquetar y almacenar datos en la memoria. Estos datos se pueden utilizar a lo largo de su programa de acuerdo con su alcance.

Tomemos un programa Rust de ejemplo que imprime GeeksForGeeks con y sin almacenarlo en una variable.

Rust

fn main() {
    println!("Welcome to GeeksForGeeks");
    let x = "GeeksForGeeks";
    println!("Welcome to {}", x);
}
  
// output without using variable
Welcome to GeeksForGeeks
  
// output using variable
Welcome to GeeksForGeeks

En el programa anterior, hemos impreso dos resultados: 

  • En la primera instrucción de impresión, imprimimos directamente la salida sin almacenar el valor en una variable.
  • Pero en el segundo, hemos usado la variable «x» para almacenar el valor ‘GeeksForGeeks’ y luego usamos la variable en su lugar.

Declarar una variable

En Rust, podemos crear variables asignando datos a palabras alfanuméricas (excluyendo palabras clave) usando la palabra clave let o la palabra clave const .

Syntax: let x = "Value"; or const x = "Value";

Ejemplo:

Rust

fn main(){
  let x = "Geeksforgeeks";
  println!("{}",x);
}

Producción:

Geeksforgeeks

En el programa anterior, usamos la variable «x» para almacenar la string «GeeksForGeeks»

  • La palabra clave let ( o palabra clave const) sugiere que el compilador considere la letra «x» como la etiqueta de la string «GeeksForGeeks» en la memoria.
  • La palabra clave mut se puede agregar después de la palabra clave let o la palabra clave const para hacer que la variable sea mutable.
  • El compilador Rust puede detectar el tipo de datos de la variable, pero también puede definir explícitamente el tipo de datos de la variable.

Mutabilidad

La inmutabilidad o un objeto inmutable es un objeto cuyo estado o válvula no se puede modificar después de crearlo o asignarlo. Mientras que la mutabilidad o un objeto mutable es un objeto cuyo estado o válvula se puede modificar después de crearlo o asignarlo. Por defecto, todas las variables de rust son inmutables.

Tomemos un programa de ejemplo donde tratamos de cambiar el valor de la variable que nos da un error

Rust

fn main() {
    let x = 0;
    println!("The value of x is: {}", x);
    x = 1;
    println!("The value of x is: {}", x);
}

Producción:

Como puede ver en la imagen, el programa no se pudo compilar y nos dio un error. Como el compilador de rust detectó, estaba pidiendo usar «mut x» en lugar de simple x . El mut es una palabra clave usada en rust para decir que el objeto o variable es mutable. Agreguemos mut e intentemos de nuevo.

compilado sin errores

En los programas de rust anteriores, hemos utilizado la palabra clave let antes de la variable, let y const son los mismos que en otros lenguajes de programación. En Rust, no puede usar la palabra clave mut con constantes, las constantes no son inmutables de forma predeterminada. 

Ejemplo: Un ejemplo de una variable constante.

Rust

fn main() {
  const N: i32 = 1;
  println!("num: {}", N);
}

Producción:

num: 1

También podemos declarar múltiples variables en una sola línea como se muestra a continuación:

Ejemplo:

Rust

fn main() {
  let ( first, middle, last ) = ("geeks", "for","geeks");
  println!("{} {} {} is amazing", first, middle, last );
}

Producción:

geeks for geeks is amazing

sombreado

El sombreado es una instancia en la que podemos hacer que una variable sea mutable temporalmente. Rust admite el sombreado de variables. El sombreado también permite cambiar el tipo de datos de la variable. En Rust, puede declarar una nueva variable que tiene el mismo nombre que una variable declarada anteriormente que sombrea el significado de la variable anterior

Rust

fn main() {
  
    // original value of gfg 
    // variable is 100
    let gfg = 100;
      
    // gfg variable has value
    // 100-50 = 50 here
    // gfg variable got shadowed
    let gfg = gfg -50;
      
    // Again gfg variable has value
    // 50*5 = 250
    // gfg variable got shadowed again
    let gfg = gfg * 5;
  
    println!("The value of gfg is: {}", gfg);
}

Producción:

The value of gfg is: 250

Publicación traducida automáticamente

Artículo escrito por kushwanthreddy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *