Sobes.tech
Назад к вопросам
Junior — Middle
102

Можете объяснить принцип работы системы защиты от обращений к null в языке программирования?

Компании, где спрашивали
Pashapay
HamkorBank
Верме

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

sobes.tech AI

В языке Dart, который используется во Flutter, реализована система null safety — механизм, предотвращающий ошибки, связанные с обращением к null. Идея в том, что переменные по умолчанию не могут принимать значение null, если явно не указано обратное.

Это достигается с помощью строгой типизации и специальных операторов:

  • Типы без вопросительного знака (например, int, String) не могут быть null.
  • Типы с вопросительным знаком (например, int?, String?) могут содержать null.
  • Оператор ! (null assertion) позволяет указать, что значение точно не null, но при ошибке будет выброшено исключение.
  • Оператор ?. позволяет безопасно обращаться к членам объекта, если он не null.

Пример:

String? name; // может быть null

void printNameLength() {
  if (name != null) {
    print(name!.length); // безопасно, так как проверили
  } else {
    print('Name is null');
  }
}

Таким образом, компилятор помогает выявлять потенциальные ошибки с null на этапе компиляции, снижая количество runtime ошибок.