Back to questions
Junior — Middle
113
Объясните концепцию и применение `late init` в языке Dart.
Answer from AI
sobes.tech AI
В Dart ключевое слово late используется для отложенной инициализации переменных. Это значит, что переменная объявляется без начального значения, но гарантируется, что она будет инициализирована до первого использования.
Это полезно, когда инициализация переменной зависит от каких-то данных, которые доступны только позже, или когда инициализация ресурсоёмкая и её стоит отложить.
Пример:
class Example {
late String description;
void setup() {
description = "Инициализировано позже";
}
void printDescription() {
print(description); // Если description не инициализирована, будет ошибка
}
}
Если попытаться использовать description до её инициализации, будет выброшено исключение. Таким образом, late помогает избежать использования nullable типов, сохраняя при этом гибкость инициализации.