Назад к вопросам
Junior
151
questionbank

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

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

В Null Safety во Flutter используются следующие операторы, связанные с nullable типами:

  • ? (Question Mark): Объявляет переменную как nullable.

    String? nullableString; // Переменная может содержать String или null
    
  • ! (Bang Operator / Non-nullable Assertio): Гарантирует компилятору, что значение не равно null в этот момент. Используется с осторожностью, так как может вызвать ошибку времени выполнения, если значение окажется null.

    String nonNullableString = nullableString!; // Гарантируем, что nullableString не null
    
  • ?? (Null Coalescing Operator): Предоставляет запасное значение, если левая сторона выражения равна null.

    String result = nullableString ?? "Default Value"; // Если nullableString null, result будет "Default Value"
    
  • ??= (Null Coalescing Assignment Operator): Присваивает значение правой стороне переменной только в том случае, если левая сторона переменной равна null.

    String? variable;
    variable ??= "Initial Value"; // Если variable null, присваивается "Initial Value"
    
  • ?. (Null-aware Access Operator): Позволяет безопасно получить доступ к членам объекта, который может быть null. Если объект null, выражение возвращает null.

    String? nullableString;
    int? length = nullableString?.length; // Если nullableString null, length будет null
    
  • ?[] (Null-aware Index Operator): Позволяет безопасно получить доступ к элементу списка или элементам Map, которые могут быть null. Если список или Map null, выражение возвращает null.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Если nullableList null, firstElement будет null