Sobes.tech
Junior — Middle

Wyjaśnij koncepcję i zastosowanie `late init` w języku Dart.

sobes.tech AI

Odpowiedź od AI

W Dart, słowo kluczowe late jest używane do opóźnionej inicjalizacji zmiennych. Oznacza to, że zmienna jest deklarowana bez wartości początkowej, ale gwarantuje się, że zostanie zainicjalizowana przed pierwszym użyciem.

Jest to przydatne, gdy inicjalizacja zmiennej zależy od danych dostępnych dopiero później, lub gdy inicjalizacja jest kosztowna i warto ją odłożyć.

Przykład:

class Example {
  late String description;

  void setup() {
    description = "Zainicjalizowano później";
  }

  void printDescription() {
    print(description); // Jeśli description nie jest zainicjalizowane, wystąpi błąd
  }
}

Jeśli spróbujesz użyć description przed jej inicjalizacją, zostanie wyrzucony wyjątek. W ten sposób late pomaga uniknąć używania nullable typów, zachowując elastyczność inicjalizacji.