Затенение, часть 1
Часть раздела Fundamentals путешествия по Rust на Coddy — урок 46 из 75.
Вы можете объявить новую переменную с тем же именем, что и у предыдущей переменной, в другой области видимости. Новая переменная затеняет предыдущую до конца своей области видимости:
fn main() {
let x = 5;
{
let x = 12;
// затеняет внешнюю x
println!("{}", x);
// выводит "12"
}
println!("{}", x);
// выводит "5"
}Задание
НовичокНапишите программу на Rust, которая демонстрирует концепцию затенения (shadowing). Выполните следующие шаги:
- Объявите переменную с именем
xи инициализируйте её значением5. - Выведите значение
xв консоль в следующем формате:x is: … - Затените
xновым значением, которое равно исходномуxплюс3внутри новой области видимости. - Выведите затенённую переменную
xв следующем формате:x is: … - Наконец, выведите
xвне области видимости в следующем формате:x is: …
Шпаргалка
Вы можете объявить новую переменную с тем же именем, что и у предыдущей переменной, в другой области видимости. Новая переменная затеняет предыдущую до конца своей области видимости:
fn main() {
let x = 5;
{
let x = 12;
// затеняет внешнюю x
println!("{}", x);
// выводит "12"
}
println!("{}", x);
// выводит "5"
}Попробуйте сами
fn main() {
// Объявляем x и инициализируем его значением 5
// Выводим значение x
{
// Затеняем x, прибавляя 3 к исходному значению x
// Выводим значение затененного x
}
// Выводим значение внешнего x
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический ввод