Vamos discutir a mutabilidade e como usá -la na ferrugem.
Por padrão, todas as variáveis na ferrugem são imutáveis. Isso significa que você não pode alterar o valor após a inicialização.
Por exemplo:
fn main ()
deixe var = 10;
var = 100;
Se executarmos o código acima, o compilador de ferrugem falhará e retornará um erro como mostrado:
Erro [E0384]: Não é possível atribuir duas vezes à variável imutável 'var'
Embora as variáveis sejam imutáveis por padrão, é útil ter uma variável mutável. Podemos tornar uma variável mutável usando a palavra -chave MUT na frente do nome da variável. Isso diz ao compilador que as outras partes do programa podem modificar a variável.
Exemplo:
fn main ()
deixe mut var = 10;
var = 100;
Com a palavra -chave mut, podemos alterar o valor da variável var de 10 para 100.
Constantes
As constantes são intimamente semelhantes às variáveis imutáveis. Portanto, uma vez declarado um valor, você não pode alterar o valor em outras partes do programa.
O que torna as constantes diferentes de outras variáveis imutáveis é que elas são declaradas usando a palavra -chave const em vez de let e você não pode torná -las mutáveis.
Por exemplo:
const pi: f64 = 3.14159
Tentar definir uma variável constante como mutável resultará em um erro:
const mut pi: 64 = 3.14159
O código acima deve retornar:
Erro: os globais const não podem ser mutáveis
Ferrugem impede que você defina um valor como mutável. Lembre -se de que o valor de uma variável constante deve ser uma expressão constante e não resultado de uma expressão calculada. Verifique nosso tutorial sobre constantes de ferrugem para saber mais.
Shadowing
Shadowing refere -se a uma técnica em que uma variável é "substituída" por outro valor com o mesmo nome.
Por exemplo, você pode ter uma variável chamada var com o valor 10. Você pode então redeclare essa variável com o mesmo nome e atribuir um valor de 100. Quando isso acontece, dizemos que as segundas variáveis sombream o primeiro.
Veja o exemplo abaixo:
fn main ()
deixe var = 10;
deixe var = 100;
No exemplo acima, temos a variável var que detém o valor 10. Em seguida, criamos um escopo interno que sombreia a variável no escopo interno.
Lembre -se de que sombreamento não é semelhante a definir uma variável como mutável.
Conclusão
Este foi um pequeno tutorial que abrange variáveis e mutabilidade na ferrugem. Verifique a documentação para explorar mais.