Menu
CoddyTech

Доступ с проверкой на null

Часть раздела Основы путешествия по Dart на Coddy. Урок 29 из 94.

Оператор доступа с учётом null (?.) безопасно обращается к свойствам объектов, которые могут иметь значение null, предотвращая ошибки во время выполнения.

void main() {
  String? name = 'Dart';
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}

При значениях null возвращается null вместо аварийного завершения:

void main() {
  String? name = null;
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}
challenge icon

Задание

Легко

Создай программу на Dart, которая демонстрирует оператор доступа с проверкой на null (?.) на примере игрового персонажа:

  1. Создай nullable-переменную типа String с именем playerName и присвой ей значение null
  2. Создай nullable-переменную типа int с именем playerScore и присвой ей значение 100
  3. Используй оператор доступа с проверкой на null (?.), чтобы получить длину значения playerName, и сохрани её в переменной с именем nameLength
  4. Выведи следующее сообщение: Player name length: X (где X — значение nameLength)
  5. Измени значение playerName на "Champion"
  6. Снова используй оператор доступа с проверкой на null, чтобы получить обновлённую длину, и сохрани её в nameLength
  7. Выведи обновлённое сообщение: Player name length: X (где X — новое значение)
  8. Выведи счёт игрока в следующем формате: Player score: 100

Попробуйте сами

void main() {
  // Объявите здесь переменные, которые могут содержать null
  String? playerName = _;
  int? playerScore = _;
  
  // Получите длину playerName с помощью оператора ?.
  int? nameLength = playerName_.length;
  
  // Выведите исходную длину имени
  print("Player name length: ${nameLength}");
  
  // Обновите playerName
  playerName = _;
  
  // Получите обновлённую длину с помощью оператора ?.
  nameLength = playerName_.length;
  
  // Выведите обновлённую длину имени
  print("Player name length: ${nameLength}");
  
  // Выведите счёт игрока
  print("Player score: ${playerScore}");
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

5Операторы, часть 3

Оператор с проверкой на nullДоступ с проверкой на nullУсловный оператор

Потренируйтесь самостоятельно: Онлайн-компилятор Dart