Что нужно знать про late и late final во Flutter/Dart?

FlutterJunior+: объясняет типичный сценарий, ограничения и простые ошибкиDart CoreТеорияdartdart-coreinitializationlatenull-safetyинициализация

Что хотят услышать интервьюеры:

Коротко: late откладывает инициализацию non-nullable переменной, а late final разрешает присвоить значение ровно один раз позже объявления.

Ответ:

Где применяется:

  • полезно для зависимостей, которые появляются в initState
  • при чтении до записи будет LateInitializationError
  • late не заменяет nullable-модель данных

Пример:

late final StreamSubscription sub;
@override void initState() {
  super.initState();
sub = stream.listen(handle);
}

Как отвечать на собеседовании: объясните назначение, границы применения и почему это лучше альтернативы в конкретном сценарии. Типичная ошибка: читать late поле до инициализации.

Источники

Похожие вопросы