Подстановка значения при null в Dart
Оператор ?? стоит после выражения
nullable-типа: если слева не null, берут
это значение, иначе - выражение справа. Справа
обычно тип, совместимый с левой частью:
String? nick = null;
var shown = nick ?? 'guest';
print(shown);
Подстановку часто комбинируют с ?., когда нужен
обычный тип без вопросительного знака:
String? note = 'hi';
var size = note?.length ?? 0;
print(size);
Справа может быть и другая переменная, и готовая строка, и число по умолчанию:
String? left = null;
String? right = 'backup';
var pick = left ?? right ?? 'none';
print(pick);
Дана переменная:
String? code = null;
Сохраните в label строку unknown,
если code пуст. Иначе сохраните сам
code. Выведите label.
Дана переменная:
int? value = 7;
Выведите удвоенное число, если оно не null,
и -1 иначе.