Оператор ??
Оператор ?? (оператор нулевого слияния) возвращает
левый операнд, если он не равен null, иначе возвращает
правый операнд. В первый операнд мы передаем значение,
которое нужно проверить на null, во второй - значение,
которое будет возвращено, если первый операнд окажется
null. Оператор удобен для задания значений по
умолчанию и для работы с nullable-типами.
Синтаксис
value ?? defaultValue
Пример
Давайте проверим переменную, которая содержит null,
и подставим значение по умолчанию:
void main()
{
String? str = null;
String res = str ?? 'abcde';
print(res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте проверим переменную, которая содержит
не null, и убедимся, что правое значение
не используется:
void main()
{
String? str = '12345';
String res = str ?? 'abcde';
print(res);
}
Результат выполнения кода:
"12345"
Пример
Давайте применим оператор ?? к числу,
которое может быть null:
void main()
{
int? num = null;
int res = num ?? 0;
print(res);
}
Результат выполнения кода:
0