Sobes.tech
Junior

Kādi operatori pastāv Null-safety?

sobes.tech AI

Atbilde no AI

Null Safety Flutter izmanto šādus operatorus, kas saistīti ar nullable tipus:

  • ? (Jautājuma zīme): deklarē mainīgo kā nullable.

    String? nullableString; // Mainīgais var saturēt String vai null
    
  • ! (Bang operators / Non-nullable apstiprinājums): garantē kompilatoram, ka vērtība šajā brīdī nav null. Lietojams ar piesardzību, jo var izraisīt izpildes kļūdu, ja vērtība būs null.

    String nonNullableString = nullableString!; // Garantē, ka nullableString nav null
    
  • ?? (Null Coalescing operators): nodrošina rezerves vērtību, ja kreisā izteiksmes puse ir null.

    String result = nullableString ?? "Default Value"; // Ja nullableString ir null, result būs "Default Value"
    
  • ??= (Null Coalescing piešķiršanas operators): piešķir vērtību labajā pusē tikai tad, ja kreisā puse ir null.

    String? variable;
    variable ??= "Initial Value"; // Ja variable ir null, tam piešķirs "Initial Value"
    
  • ?. (Null-aware piekļuves operators): ļauj droši piekļūt objekta locekļiem, kas var būt null. Ja objekts ir null, izteiksme atgriež null.

    String? nullableString;
    int? length = nullableString?.length; // Ja nullableString ir null, length būs null
    
  • ?[] (Null-aware indeksēšanas operators): ļauj droši piekļūt saraksta vai Map elementiem, kas var būt null. Ja saraksts vai Map ir null, izteiksme atgriež null.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Ja nullableList ir null, firstElement būs null