Неизменяемая привязка данных в Rust

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом лабе концепция заморозки объясняется как состояние, когда данные связываются одним и тем же именем неизменяемым образом, не позволяя их изменить, пока неизменяемая привязка не выйдет из области видимости.

Примечание: Если в лабе не указано имя файла, вы можете использовать любое имя файла, которое хотите. Например, вы можете использовать main.rs, скомпилировать и запустить его с помощью rustc main.rs &&./main.

Заморозка

Когда данные связываются одним и тем же именем неизменяемым образом, они также замораживаются. Замороженные данные нельзя изменить, пока неизменяемая привязка не выйдет из области видимости:

fn main() {
    let mut _mutable_integer = 7i32;

    {
        // Shadowing by immutable `_mutable_integer`
        let _mutable_integer = _mutable_integer;

        // Ошибка! `_mutable_integer` заморожено в этой области видимости
        _mutable_integer = 50;
        // FIXME ^ Comment out this line

        // `_mutable_integer` выходит из области видимости
    }

    // Ок! `_mutable_integer` не заморожено в этой области видимости
    _mutable_integer = 3;
}

Резюме

Поздравляем! Вы завершили лабу по Заморозке. Вы можете практиковаться в более лабах в LabEx, чтобы улучшить свои навыки.