Оператор условной нулевости
Часть раздела Основы путешествия по 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-aware (??) в Dart:
- Объявите nullable переменную типа String с именем
usernameи присвойте ей значениеnull - Объявите nullable переменную типа int с именем
userAgeи присвойте ей значениеnull - Используйте оператор null-aware, чтобы присвоить значение по умолчанию
"Guest"новой переменнойdisplayName, еслиusernameравно null - Используйте оператор null-aware, чтобы присвоить значение по умолчанию
18новой переменнойdisplayAge, если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)Шпаргалка
Оператор нулевого слияния (??) возвращает левое выражение, если оно не null, в противном случае возвращает правое выражение.
String? name = null;
String displayName = name ?? 'Guest'; // Возвращает 'Guest', поскольку name равно null
int? score = 100;
int displayScore = score ?? 0; // Возвращает 100, поскольку score не равно nullПопробуйте сами
void main() {
// Объявляем nullable переменные
String? username = _;
int? userAge = _;
// Используем null-aware оператор для значений по умолчанию
String displayName = username ?? _;
int displayAge = userAge ?? _;
// Выводим начальные значения
print("Username: $displayName (default value used)");
print("Age: $displayAge (default value used)");
// Обновляем переменные
username = _;
userAge = _;
// Снова используем null-aware оператор
displayName = username _ "Guest";
displayAge = userAge _ 18;
// Выводим обновленные значения
print("Username: $displayName (original value used)");
print("Age: $displayAge (original value used)");
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы, часть 2
Операторы сравненияЛогический ANDЛогический ORЛогический NOTОператоры проверки типаПовторение - Сравнения7Работа со строками
Конкатенация строкИнтерполяция строкМногострочные строкиСвойства строкОсновные методы строк10Коллекции - Основы словарей
Что такое словари?Создание словаряДоступ к значениям по ключуПары ключ-значениеПолучение размера словаряПолучение ключейПолучение значенийПроверка существования ключа2Переменные и основные типы данных
Что такое переменные?СтрокиЦелые числа (int)Вещественные числа (double)Булевы значения (bool)Вывод типов с 'var'Финальные переменныеКонстантные переменныеСоглашения об именованииОсновы null-безопасностиПовторение - Объявление переменных8Поток управления - Циклы
Цикл 'for'Цикл 'while'Цикл 'do-while'Использование 'break' в циклахИспользование 'continue' в циклахИтог - Повторение кода3Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор модуляИнкремент и декрементСокращённые присваиванияИтог - Простые вычисления6Управление потоком - Принятие решений
Оператор 'if'Оператор 'else'Оператор 'else if'Повторение - Простые решенияВложенные операторы 'if'Оператор 'switch'9Коллекции - Основы списков
Что такое списки?Создание спискаДоступ по индексуПолучение длины спискаДобавление элементовУдаление элементовПроверка, пуст ли списокИтерация по списку12Расширенные функции
Необязательные позиционные параметрыИменованные параметрыОбязательные именованные параметрыЗначения параметров по умолчаниюПовторение - Параметры функций15Проект: Простой калькулятор
НастройкаОбъявление числа