Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Спочатку оголошення

Можна спочатку оголосити прив’язки змінних, а ініціалізувати їх пізніше, але всі прив’язки змінних мають бути ініціалізовані до того, як їх буде використано: компілятор забороняє використання неініціалізованих прив’язок змінних, оскільки це призвело б до невизначеної поведінки.

Непоширено спочатку оголошувати прив’язку змінної, а потім ініціалізувати її пізніше у функції. Читачеві важче знайти ініціалізацію, коли ініціалізація відокремлена від оголошення. Звично оголошувати й ініціалізувати прив’язку змінної поблизу того місця, де змінну буде використано.

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

    {
        let x = 2;

        // Initialize the binding
        a_binding = x * x;
    }

    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);
}