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