Область блока в Dart
Пара фигурных скобок образует блок. Переменная, объявленная внутри блока, видна только между этими скобками.
Имя token объявлено внутри блока.
Сразу после закрывающей скобки программа
не соберется:
if (true) {
final token = "abc";
print(token);
}
print(token); // программа не собирается
Вложенный блок может читать переменную
внешнего блока той же функции. На экран
попадут 1 и 2:
final outer = 1;
if (true) {
final inner = 2;
print(outer);
print(inner);
}
Имя из внутреннего блока снаружи не видно. Программа снова не соберется:
if (true) {
final inner = 2;
}
print(inner); // программа не собирается
Код не собирается. Исправьте его так,
чтобы на экран попала строка "ok":
if (true) {
final status = "ok";
}
print(status);
Определите, соберется ли программа:
final a = 1;
if (true) {
final b = 2;
print(a + b);
}
print(b);