Проверка на null в Dart
Если переменная имеет тип String?, вызвать
метод строки напрямую нельзя: компилятор не знает,
есть ли там значение. После проверки
!= null Dart сужает тип до String
внутри ветки if для локальной переменной:
String? text = 'dart';
if (text != null) {
print(text.length);
}
В ветке else переменная по-прежнему
nullable. Туда удобно выводить запасной текст
или завершать обработку:
String? nick = null;
if (nick != null) {
print(nick.toUpperCase());
} else {
print('guest');
}
Такую же проверку ставят перед арифметикой с nullable-числом:
int? bonus = 10;
if (bonus != null) {
print(bonus + 1);
}
Дана переменная:
String? word = 'go';
Если значение не null, выведите строку
в верхнем регистре. Иначе выведите empty.
Дана переменная:
int? price = null;
Если число не null, выведите его удвоенное
значение. Иначе выведите 0.