Sobes.tech
Junior

Kokie operatoriai egzistuoja Null-safety?

sobes.tech AI

Atsakymas iš AI

Null Safety Flutter naudojami šie operatoriai, susiję su nullable tipais:

  • ? (Klausimo ženklas): deklaruoja kintamąjį kaip nullable.

    String? nullableString; // Kintamasis gali turėti String arba null
    
  • ! (Bang operatorius / Non-nullable Assert): garantuoja kompiliatoriui, kad reikšmė šiuo metu nėra null. Naudojama atsargiai, nes gali sukelti vykdymo klaidą, jei reikšmė bus null.

    String nonNullableString = nullableString!; // Garantuoja, kad nullableString nėra null
    
  • ?? (Null Coalescing operatorius): suteikia atsarginę reikšmę, jei kairėje išraiškos pusėje yra null.

    String result = nullableString ?? "Default Value"; // Jei nullableString yra null, result bus "Default Value"
    
  • ??= (Null Coalescing priskyrimo operatorius): priskiria reikšmę dešinėje pusei kintamajam tik tada, jei kairėje pusėje esantis kintamasis yra null.

    String? variable;
    variable ??= "Initial Value"; // Jei variable yra null, jam priskiriama "Initial Value"
    
  • ?. (Null-aware prieigos operatorius): leidžia saugiai pasiekti objekto narius, kurie gali būti null. Jei objektas null, išraiška grąžina null.

    String? nullableString;
    int? length = nullableString?.length; // Jei nullableString yra null, length bus null
    
  • ?[] (Null-aware indeksavimo operatorius): leidžia saugiai pasiekti sąrašo arba žemėlapio elementus, kurie gali būti null. Jei sąrašas ar žemėlapis yra null, išraiška grąžina null.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Jei nullableList yra null, firstElement bus null