变量先声明

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

1. fn main() {
2. // 声明一个变量绑定
3. let a_binding;

5. {
6. let x = 2;

8. // 初始化一个绑定
9. a_binding = x * x;
10. }

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

14. let another_binding;

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

20. another_binding = 1;

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

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