Declare first (Khai báo trước, khởi tạo sau)
Có thể khai báo các ràng buộc biến trước rồi khởi tạo chúng sau. Tuy nhiên, hình thức này hiếm khi được sử dụng bởi vì nó có thể dẫn đến việc sử dụng những biến chưa được khởi tạo.
fn main() { // Khai báo một ràng buộc biến let a_binding; { let x = 2; // Khởi tạo ràng buộc biến đã khai báo phía trên a_binding = x * x; } println!("a binding: {}", a_binding); let another_binding; // Lỗi! Không được sử dụng ràng buộc chưa khởi tạo println!("another binding: {}", another_binding); // FIXME ^ Comment dòng trên lại another_binding = 1; println!("another binding: {}", another_binding); }
Trình biên dịch cấm sử dụng các biến chưa được khởi tạo, vì điều này sẽ dẫn đến những hành vi không xác định.