Sobes.tech
Back to questions
Junior — Middle
106

Какие функции и инструменты для работы с null safety были введены в Dart 2.12?

Answer from AI

sobes.tech AI

В Dart 2.12 была введена поддержка null safety — система, которая помогает избежать ошибок, связанных с null-значениями. Основные функции и инструменты:

  • Нуллабельные и ненуллабельные типы: по умолчанию типы не могут быть null, чтобы избежать ошибок NullPointerException. Для разрешения null используется ?, например, String?.
  • Операторы проверки null: ! (assert non-null), ?? (оператор "если null, то"), ?. (безопасный вызов метода или свойства).
  • Анализ времени компиляции: компилятор проверяет, что переменные не используются без инициализации или проверки на null.

Пример:

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

void greet() {
  if (name != null) {
    print('Hello, ${name!}'); // ! говорит компилятору, что name не null
  } else {
    print('Hello, guest');
  }
}