4.3 Declare first

변수 바인딩을 먼저 하고, 그들의 초기화를 나중에 하는 식의 선언도 가능하다. 하지만 이런 형식은 초기화되지 않은 변수의 사용으로 이어질 수 있기에 거의 사용되지 않는다.

fn main() {
    // 변수 바인딩 선언
    let a_binding;

    {
        let x = 2;

        // 초기화 바인딩 
        a_binding = x * x;
    }

    println!("a binding: {}", a_binding);

    let another_binding;

    // 에러! 초기화 되지 않은 바인딩을 사용.
    println!("another binding: {}", another_binding);
    // FIXME ^ 이 줄을 주석처리 하세요.

    another_binding = 1;

    println!("another binding: {}", another_binding);
}

컴파일러가 금지하는 초기화 되지 않는 변수의 사용은, 알 수 없는 행위로 이어지게 한다.

results matching ""

    No results matching ""