03-变量先声明

变量先声明 — Rust By Example

译文 · 基于 Rust By Example

原文链接: https://doc.rust-lang.org/stable/rust-by-example/variable_bindings/declare.html

变量先声明

可以先声明(declare)变量绑定,后面才将它们初始化(initialize)。但是这种做法很少用,因为这样可能导致使用未初始化的变量。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
fn main() {
    // 声明一个变量绑定
    let a_binding;

    {
        let x = 2;

        // 初始化一个绑定
        a_binding = x * x;
    }

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

    let another_binding;

    // 报错!使用了未初始化的绑定
    println!("another binding: {}", another_binding);
    // 改正 ^ 注释掉此行

    another_binding = 1;

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

编译器禁止使用未经初始化的变量,因为这会产生未定义行为(undefined behavior)。

最后修改 October 2, 2026: 更新 (f3447ada6)