Ahora vamos a hablar del comportamiento de un dato dentro de la memoria. Como bien sabe un programador, creamos datos dentro de la memoria, y algunas veces tenemos acceso total a ella. Rust, al tener esta característica, nos permite crear variables y modificarlas a nuestro placer, siguiendo algunas reglas, como el tipo de variable que estamos utilizando. En este caso, hay tres tipos de variables que pude observar:
Variables Inmutables
Estas variables no se pueden cambiar de una forma fácil, ya que son inmutables por razones de seguridad.
let x = 5;
En este caso, x
es igual a 5
, pero si intentamos cambiarlo a x = 6
, el programa nos dará un error por motivos de seguridad.
Variables Mutables
Ahora vamos con las variables que se pueden cambiar sin ningún tipo de problema: las variables mutables. La forma de declarar estas variables es la siguiente:
let mut y = 'a';
Aquí usamos la palabra clave mut, que indica que la variable puede mutar. Sin embargo, hay una regla: debe permanecer del mismo tipo. Es decir, si es un char
, no se puede cambiar a un i8
(entero de 8 bits).
Por ejemplo:
y = 'b';
Ahora es intuitivo ver cómo podemos cambiar el valor de la variable.
Sombras
Este tipo de variables es un poco especial, y aún no estoy seguro de dónde se podría usar exactamente. Por ejemplo, tenemos una variable inmutable llamada x (como hicimos anteriormente) con el valor 5. Si quisiéramos cambiar este valor, podríamos crear otra variable con el mismo nombre, sobrescribiéndola:
let x = 6;
Ahora, x
tiene el valor 6
, y el valor anterior (5)
ha desaparecido. Es como si hubiéramos sobrescrito la variable. Sin embargo, parece que este proceso de sobrescribir una variable es más costoso que simplemente cambiar su valor.
La razón por la que se llama "sombra" es porque, si este cambio ocurre dentro de un bloque (por ejemplo, un if o un while), fuera del bloque la variable x
seguirá teniendo su valor original (5)
, no el nuevo valor (6)
. Esto puede proporcionar un punto adicional de seguridad.
Top comments (0)