Mutabilidad de óxido

Mutabilidad de óxido
La mutabilidad se refiere a la capacidad de actualizar o modificar algo. En óxido, esto significa la capacidad de cambiar el valor de un tipo después de la declaración.

Discutamos la mutabilidad y cómo usarla en óxido.

Por defecto, todas las variables en óxido son inmutables. Esto significa que no puede cambiar el valor después de la inicialización.

Por ejemplo:

fn main ()
Sea var = 10;
var = 100;

Si ejecutamos el código anterior, el compilador de óxido fallará y devolverá un error como se muestra:

Error [e0384]: no se puede asignar dos veces a la variable inmutable 'var'

Aunque las variables son inmutables de forma predeterminada, es útil tener una variable mutable. Podemos hacer una variable mutable usando la palabra clave Mut frente al nombre de la variable. Esto le dice al compilador que las otras partes del programa pueden modificar la variable.

Ejemplo:

fn main ()
Sea Mut var = 10;
var = 100;

Con la palabra clave Mut, podemos cambiar el valor de la variable var de 10 a 100.

Constantes

Las constantes son muy similares a las variables inmutables. Por lo tanto, una vez que se declara un valor, no puede cambiar el valor en otras partes del programa.

Lo que hace que las constantes sean diferentes de otras variables inmutables es que se declaran utilizando la palabra clave const en lugar de dejarlas y no puede hacerlas mutables.

Por ejemplo:

const pi: f64 = 3.14159

Intentar establecer una variable constante como mutable dará como resultado un error:

const mut pi: 64 = 3.14159

El código anterior debe devolver:

Error: const Globals no pueden ser mutables

El óxido evita que establezca un valor como mutable. Tenga en cuenta que el valor de una variable constante debe ser una expresión constante y no un resultado de una expresión calculada. Consulte nuestro tutorial sobre constantes de óxido para obtener más información.

Sombreado

La sombra se refiere a una técnica en la que una variable está "sobrescribida" por otro valor con el mismo nombre.

Por ejemplo, puede tener una variable llamada var con el valor 10. Luego puede redeclare esa variable con el mismo nombre y asignarle un valor de 100. Cuando esto sucede, decimos que las segundas variables sombras el primero.

Tome el ejemplo a continuación:

fn main ()
Sea var = 10;

Sea var = 100;

En el ejemplo anterior, tenemos el var variable que contiene el valor 10. Luego creamos un alcance interno que sombrea la variable en el alcance interno.

Tenga en cuenta que el sombreado no es similar a establecer una variable como mutable.

Conclusión

Este fue un breve tutorial de variables y mutabilidad en óxido. Consulte la documentación para explorar más.