Оператор с проверкой на 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');
}Задание
ЛегкоСоздай программу, демонстрирующую оператор обработки null (??) в Dart:
- Объяви nullable-переменную типа String с именем
usernameи присвой ей значениеnull - Объяви nullable-переменную типа int с именем
userAgeи присвой ей значениеnull - Используй оператор обработки null, чтобы присвоить новое переменной
displayNameзначение по умолчанию"Guest", еслиusernameравна null - Используй оператор обработки null, чтобы присвоить новой переменной
displayAgeзначение по умолчанию18, еслиuserAgeравна null - Выведи значения в ТОЧНО следующем формате:
Username: Guest (default value used)
Age: 18 (default value used)Затем:
- Обнови значение
usernameна"DartUser" - Обнови значение
userAgeна25 - Повтори шаги 3 и 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)");
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Операторы сравненияЛогическое ИЛогическое ИЛИЛогическое НЕОператоры проверки типаПовторение — сравнения7Работа со строками
Конкатенация строкИнтерполяция строкМногострочные строкиСвойства строкОсновные методы строк10Коллекции — основы Map
Что такое Map?Создание MapДоступ к значениям по ключуПары «ключ—значение»Получение размера MapПолучение ключейПолучение значенийПроверка наличия ключа13Подробно о безопасности при работе с null
Понимание nullТипы, допускающие nullТипы, не допускающие nullОператор утверждения о ненулевом значенииПоздняя инициализацияПовторение — безопасная обработка null2Переменные и базовые типы данных
Что такое переменные?СтрокиЦелые числа (int)Числа с плавающей точкой (double)Логические значения (bool)Вывод типа с помощью «var»Переменные finalКонстантные переменныеСоглашения об именованииОсновы безопасности при работе с nullПовторение — объявление переменных8Управление потоком — циклы
Цикл «for»Цикл «while»Цикл «do-while»Использование «break» в циклахИспользование «continue» в циклахПовторение — повторение кода3Операторы, часть 1
Арифметические операторыЦелочисленное делениеОператор остатка от деленияИнкремент и декрементСокращённая запись присваиванияПовторение — простые вычисления6Поток управления — принятие решений
Оператор «if»Оператор «else»Оператор «else if»Повторение — простые решенияВложенные операторы «if»Оператор «switch»9Коллекции — основы списков
Что такое списки?Создание спискаДоступ по индексуПолучение длины спискаДобавление элементовУдаление элементовПроверка, пуст ли списокПеребор списка12Продвинутые функции
Необязательные позиционные параметрыИменованные параметрыОбязательные именованные параметрыЗначения параметров по умолчаниюПовторение — параметры функций15Проект: простой калькулятор
НастройкаОбъявление числаПотренируйтесь самостоятельно: Онлайн-компилятор Dart