우선 선언하기

변수 할당을 우선 선언하고 나중에 초기화할 수도 있지만, 모든 변수는 사용되기 전에 초기화되어야 합니다: 컴파일러가 초기화되지 않은 변수의 사용을 금지하며, 이는 지정되지 않은 행위로 이어질 수 있기 때문입니다.

변수의 선언과 초기화를 따로 하는 경우는 흔치 않습니다. 코드를 읽을 때 초기화문이 떨어져 있으면 이를 찾기도 어렵고요. 변수 자체를 그 변수가 사용되는 곳 근처에 선언하는 경우가 일반적입니다.

fn main() {
    // Declare a variable binding
    let a_binding;

    {
        let x = 2;

        // Initialize the binding
        a_binding = x * x;
    } // 역주: a_binding을 초기화하기 위해 사용한 x: i32는 이제 없습니다

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

    let another_binding;

    // Error! Use of uninitialized binding
    println!("another binding: {}", another_binding);
    // FIXME ^ Comment out this line

    another_binding = 1;

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