Sobes.tech
Junior

Кадом операторҳо дар Null-safety вуҷуд доранд?

sobes.tech AI

Ҷавоб аз AI

Дар Flutter Null Safety истифода мешаванд операторҳои зерин, ки бо навъҳои nullable алоқаманданд:

  • ? (Нишони савол): Варақаи навъи nullable-ро эълон мекунад.

    String? nullableString; // Варақа метавонад String ё null дошта бошад
    
  • ! (Оператор изофа / Assert барои non-null): Ба компилятор кафолат медиҳад, ки арзиш дар ин лаҳза null нест. Бо эҳтиёт истифода баред, зеро метавонад хатогии иҷроиро ба вуҷуд орад, агар арзиш null бошад.

    String nonNullableString = nullableString!; // Мувофиқ мекунем, ки nullableString null нест
    
  • ?? (Оператор пайвасткунии null): Агар тарафҳои чапи израз null бошанд, арзиши алтернативиро медиҳад.

    String result = nullableString ?? "Арзиши пешфарз"; // Агар nullableString null бошад, result ба "Арзиши пешфарз" баробар мешавад
    
  • ??= (Оператор таъинкунии пайвасткунии null): Ба тағйирёбанда танҳо агар он null бошад, арзиш медиҳад.

    String? variable;
    variable ??= "Арзиши ибтидоӣ"; // Агар variable null бошад, ба он "Арзиши ибтидоӣ" таъин мешавад
    
  • ?. (Оператор дастрасии бехатартар): Дастрасии бехатартар ба аъзои объект, ки метавонад null бошад, имкон медиҳад. Агар объект null бошад, израз null бармегардонад.

    String? nullableString;
    int? length = nullableString?.length; // Агар nullableString null бошад, length null мешавад
    
  • ?[] (Оператор индексбандии бехатартар): Дастрасии бехатартар ба унсурҳои рӯйхат ё харита, ки метавонанд null бошанд, имкон медиҳад. Агар рӯйхат ё харита null бошад, израз null бармегардонад.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Агар nullableList null бошад, firstElement null мешавад