Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtPmScNC 277 of 412 menu
◀ ▶

Одинаковые имена переменных в Dart

Если во внутренней области снова объявить переменную с тем же именем, что снаружи, внутри действует только новая. Внешнее имя на этом участке как бы скрыто.

Снаружи блока val равна 1, внутри блока другое объявление с тем же именем - 2. На экран из блока попадет 2, после блока снова 1:

final val = 1; if (true) { final val = 2; print(val); } print(val);

То же между функцией на уровне файла и локальной переменной в main. Из main на экран попадет 10, из show - 20:

final val = 20; void show() { print(val); } void main() { final val = 10; print(val); show(); }

Изменение внутренней переменной не меняет внешнюю. После выхода из блока снова видна старая. На экран попадут 100 и 5:

var score = 5; if (true) { var score = 100; print(score); } print(score);

Определите, что выведет программа:

final tag = "a"; if (true) { final tag = "b"; print(tag); } print(tag);

Определите, что выведет программа:

final level = 1; void main() { final level = 2; print(level); }
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить