Sobes.tech
Junior

Millised operaatorid on Null-safety-s olemas?

sobes.tech AI

Vastus AI-lt

Null Safety Flutteris kasutab järgmisi operaatoritüüpe, mis on seotud nullable tüüpidega:

  • ? (Küsimärgi märk): deklareerib muutuja nullable-ks.

    String? nullableString; // Muutuja võib sisaldada String-i või null-i
    
  • ! (Bang operaator / Non-nullable kinnitamine): tagab kompilaatorile, et väärtus ei ole sellel hetkel null. Kasutatakse ettevaatusega, kuna võib põhjustada jooksva ajal vea, kui väärtus osutub null-iks.

    String nonNullableString = nullableString!; // Tagab, et nullableString ei ole null
    
  • ?? (Null Coalescing operaator): pakub varu väärtust, kui vasak pool avaldisest on null.

    String result = nullableString ?? "Default Value"; // Kui nullableString on null, siis result on "Default Value"
    
  • ??= (Null Coalescing määramisoperaator): määrab väärtuse paremal poolel olevast, ainult kui vasakul poolel olev muutuja on null.

    String? variable;
    variable ??= "Initial Value"; // Kui variable on null, sellele määratakse "Initial Value"
    
  • ?. (Null-aware juurdepääsuoperaator): võimaldab turvaliselt saada juurdepääsu objekti liikmetele, mis võivad olla null. Kui objekt on null, tagastab avaldis null.

    String? nullableString;
    int? length = nullableString?.length; // Kui nullableString on null, length on null
    
  • ?[] (Null-aware indekseerimisoperaator): võimaldab turvaliselt saada juurdepääsu listi või kaardi elementidele, mis võivad olla null. Kui list või kaart on null, tagastab avaldis null.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Kui nullableList on null, firstElement on null