Menu
CoddyTech

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

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

Оператор с проверкой на null (??) возвращает левое выражение, если оно не равно null, иначе возвращает правое выражение.

void main() {
  String? name = 'Dart';
  String displayName = name ?? 'Guest';
  
  print('Hello, $displayName!');
}
void main() {
  String? name = null;
  String displayName = name ?? 'Guest';
  
  print('Hello, $displayName!');
}
void main() {
  int? score;  // Начальное значение не задано, по умолчанию — null
  int displayScore = score ?? 0;
  
  print('Your score: $displayScore');
  
  // Позже в программе score получает значение
  score = 100;
  displayScore = score ?? 0;
  
  print('Your updated score: $displayScore');
}
challenge icon

Задание

Легко

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

  1. Объяви nullable-переменную типа String с именем username и присвой ей значение null
  2. Объяви nullable-переменную типа int с именем userAge и присвой ей значение null
  3. Используй оператор обработки null, чтобы присвоить новое переменной displayName значение по умолчанию "Guest", если username равна null
  4. Используй оператор обработки null, чтобы присвоить новой переменной displayAge значение по умолчанию 18, если userAge равна null
  5. Выведи значения в ТОЧНО следующем формате:
Username: Guest (default value used)
Age: 18 (default value used)

Затем:

  1. Обнови значение username на "DartUser"
  2. Обнови значение userAge на 25
  3. Повтори шаги 3 и 4 с обновлёнными значениями
  4. Выведи значения в ТОЧНО следующем формате:
Username: DartUser (original value used)
Age: 25 (original value used)

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

void main() {
  // Объявите переменные, допускающие значение null
  String? username = _;
  int? userAge = _;
  
  // Используйте оператор проверки на null для значений по умолчанию
  String displayName = username ?? _;
  int displayAge = userAge ?? _;
  
  // Выведите начальные значения
  print("Username: $displayName (default value used)");
  print("Age: $displayAge (default value used)");
  
  // Обновите переменные
  username = _;
  userAge = _;
  
  // Снова используйте оператор проверки на null
  displayName = username _ "Guest";
  displayAge = userAge _ 18;
  
  // Выведите обновлённые значения
  print("Username: $displayName (original value used)");
  print("Age: $displayAge (original value used)");
}
quiz iconПроверьте себя

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

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

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

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

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