Sobes.tech
Junior

Кои оператори съществуват в Null-safety?

sobes.tech AI

Отговор от AI

В Flutter Null Safety се използват следните оператори, свързани с nullable типове:

  • ? (Въпросителен знак): Декларира променлива като nullable.

    String? nullableString; // Променливата може да съдържа String или null
    
  • ! (Възклицателен знак / Assert за не-null): Гарантира на компилатора, че стойността не е null в този момент. Трябва да се използва с внимание, тъй като може да предизвика грешка по време на изпълнение, ако стойността е null.

    String nonNullableString = nullableString!; // Гарантираме, че nullableString не е null
    
  • ?? (Оператор за сливане на null): Предоставя резервна стойност, ако левият израз е null.

    String result = nullableString ?? "Стойност по подразбиране"; // Ако nullableString е null, резултатът ще бъде "Стойност по подразбиране"
    
  • ??= (Оператор за присвояване при сливане на null): Присвоява стойност на променлива само ако тя е null.

    String? variable;
    variable ??= "Начална стойност"; // Ако variable е null, ще се присвои "Начална стойност"
    
  • ?. (Оператор за безопасен достъп): Позволява безопасен достъп до членове на обект, който може да е null. Ако обектът е null, изразът връща null.

    String? nullableString;
    int? length = nullableString?.length; // Ако nullableString е null, length ще бъде null
    
  • ?[] (Оператор за безопасен индекс): Позволява безопасен достъп до елементи на списък или Map, които могат да са null. Ако списъкът или Map-ът е null, изразът връща null.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Ако nullableList е null, firstElement ще бъде null