Переменные верхнего уровня файла в Dart
Переменная верхнего уровня файла объявляется в файле вне функций. Ее имя видно во всех функциях этого же файла, если внутри не объявлено одноименное локальное имя. Речь не о переменной на весь компьютер, а только об одном файле программы.
На верхнем уровне файла задана maxSize.
Функция report выводит это значение:
final maxSize = 100;
void report() {
print(maxSize);
}
void main() {
report();
}
Несколько функций могут читать одну и ту
же переменную верхнего уровня. На экран два
раза попадет 7:
var shared = 7;
void showA() {
print(shared);
}
void showB() {
print(shared);
}
void main() {
showA();
showB();
}
Изменение переменной верхнего уровня в одной
функции видно в другой. Такие имена легко
перепутать при росте программы, поэтому
их оставляют для действительно общих
констант, а рабочие данные чаще держат
в main или внутри функций.
На экран попадут 1 и 2:
var shared = 1;
void bump() {
shared = shared + 1;
}
void show() {
print(shared);
}
void main() {
show();
bump();
show();
}
Определите, что выведет программа:
final label = "go";
void main() {
print(label);
}
Определите, что выведет программа:
var units = 3;
void addUnit() {
units = units + 1;
}
void main() {
print(units);
addUnit();
print(units);
}