DANGER
Страница находится в процессе написания
Late
Отложенная инициализация - подразумевает, что переменная получит своё значение позже. Отложенную инициализаю ещё можно назвать ленивой, т.к. она позволяет нам записать значение в момент обращения к переменной.
dart
late String str; // сказали, что запишем позже
*какой-то код*
str = 'name'; // записали значение
print(str); // используем
Важно помнить, что стоит использовать переменную только после инициализации, иначе можно получить исключение. Именно поэтому такая инициализация в основном используется для ленивой инициализации.
dart
late String username = 'John';
print(username); // Переменная username будет инициализирована именно здесь, а после выведена в консоль. А не в момент создания.
DANGER
Последний пример - частый гость собеседований мидл и выше.