Добавить объявление

В Rust можно объявлять переменные с одним и тем же именем

Обнаружил, что в Rust можно объявлять переменные с одним и тем же именем, это называется затенение (shadowing). Новая переменная «затеняет» предыдущую, и мы даже можем использовать значение из старой переменной:

let number = 10;
println!("{}", number); // 10

let number = 15; // Затеняем предыдущий number
println!("{}", number); // 15

let number = number + 15; // Берем прошлый number и прибавляем 15
println!("{}", number); // 30

В отличие от mut переменных, здесь каждый раз создается новая переменная. В Swift и многих других языках такой код вызвал бы ошибку: нельзя объявить две переменные с одинаковым именем в одной области видимости.
11.10.2025 11 157