Introdução
Neste laboratório, o conceito de congelamento é explicado como o estado em que os dados são ligados pelo mesmo nome de forma imutável, tornando-os inmodificáveis até que a ligação imutável saia de âmbito.
Nota: Se o laboratório não especificar um nome de ficheiro, pode usar qualquer nome de ficheiro que desejar. Por exemplo, pode usar
main.rs, compilá-lo e executá-lo comrustc main.rs && ./main.
Congelamento
Quando os dados são ligados pelo mesmo nome de forma imutável, eles também são congelados. Dados congelados não podem ser modificados até que a ligação imutável saia de âmbito:
fn main() {
let mut _mutable_integer = 7i32;
{
// Sombra por `_mutable_integer` imutável
let _mutable_integer = _mutable_integer;
// Erro! `_mutable_integer` está congelado neste âmbito
_mutable_integer = 50;
// FIXME ^ Comente esta linha
// `_mutable_integer` sai de âmbito
}
// Ok! `_mutable_integer` não está congelado neste âmbito
_mutable_integer = 3;
}
Resumo
Parabéns! Concluiu o laboratório de Congelamento. Pode praticar mais laboratórios no LabEx para melhorar as suas competências.