• 变量先声明

    变量先声明

    Rust 语言可以先声明变量绑定,后面才将它们初始化。但是这种情况用得很少,因为这样很可能导致使用未
    初始的变量。

    1. fn main() {
    2. // 声明一个变量绑定
    3. let a_binding;
    4. {
    5. let x = 2;
    6. // 初始化一个绑定
    7. a_binding = x * x;
    8. }
    9. println!("a binding: {}", a_binding);
    10. let another_binding;
    11. // 报错!使用了未初始化的绑定
    12. println!("another binding: {}", another_binding);
    13. // 改正 ^ 注释掉此行
    14. another_binding = 1;
    15. println!("another binding: {}", another_binding);
    16. }

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