Можно сначала объявить связь с переменной, а инициализировать её позже. Однако, такая форма используется редко, так как может привести к использованию неинициализированных переменных.
fn main() {
// Объявляем связь с переменной
let a_binding;
{
let x = 2;
// Инициализируем связь
a_binding = x * x;
}
println!("связь а: {}", a_binding);
let another_binding;
// Ошибка! Использование неинициализированной связи с переменной
println!("другая связь: {}", another_binding);
// ИСПРАВЬТЕ ^ Закомментируйте строку
another_binding = 1;
println!("другая связь: {}", another_binding);
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Компилятор запрещает использование неинициализированных переменных, так как это привело бы к неопределённому поведению.