РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
483 of 1245 menu

Затенение имён

Затенение имён (shadowing) - это механизм в Rust, позволяющий объявить новую переменную с тем же именем, что и у уже существующей переменной. Новая переменная «затеняет» старую, и все последующие обращения по этому имени будут указывать на новую переменную. При этом старая переменная не удаляется из памяти, но становится недоступной по имени. Затенение выполняется с помощью ключевого слова let.

Синтаксис

let name = value1; let name = value2;

Пример

Давайте объявим переменную x, а затем затеням её новым значением:

fn main() { let x = 5; let x = 10; println!("{}", x); }

Результат выполнения кода:

10

Пример

Затенение позволяет изменить тип переменной. Давайте объявим строку, а затем затеням её числом:

fn main() { let val = "abcde"; let val = val.len(); println!("{}", val); }

Результат выполнения кода:

5

Пример

Затенение в внутренней области видимости действует только внутри неё. Давайте проверим это:

fn main() { let x = 1; { let x = 2; println!("{}", x); } println!("{}", x); }

Результат выполнения кода:

2 1

Смотрите также

  • раздел Владение,
    который описывает систему владения значениями в Rust
  • раздел Перемещение,
    который описывает перемещение владения между переменными
  • раздел Заимствование,
    который описывает передачу ссылок без передачи владения
  • раздел Время жизни,
    который описывает, как Rust отслеживает время жизни ссылок
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить