Rust 에서 불변 데이터 바인딩

Beginner

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

소개

이 실험에서는 데이터가 동일한 이름으로 불변하게 바인딩되어 불변 바인딩의 범위가 종료될 때까지 수정할 수 없게 되는 상태를 동결 (freezing) 상태로 설명합니다.

참고: 실험에서 파일 이름을 지정하지 않으면 원하는 파일 이름을 사용할 수 있습니다. 예를 들어 main.rs 파일을 사용하고 rustc main.rs && ./main 명령어로 컴파일 및 실행할 수 있습니다.

동결 (Freezing)

동일한 이름으로 불변하게 바인딩된 데이터는 동결 (freezing) 됩니다. 동결된 데이터는 불변 바인딩의 범위가 종료될 때까지 수정할 수 없습니다.

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

    {
        // 불변 `_mutable_integer` 로 그림자화
        let _mutable_integer = _mutable_integer;

        // 오류! 이 범위에서 `_mutable_integer` 는 동결되었습니다.
        _mutable_integer = 50;
        // FIXME ^ 이 줄을 주석 처리하세요.

        // `_mutable_integer` 가 범위를 벗어납니다.
    }

    // 정상! 이 범위에서 `_mutable_integer` 는 동결되지 않았습니다.
    _mutable_integer = 3;
}

요약

축하합니다! 동결 (Freezing) 실험을 완료했습니다. LabEx 에서 더 많은 실험을 통해 기술을 향상시킬 수 있습니다.