Именованный параметр без значения по умолчанию в Dart
Именованный параметр в фигурных скобках без
значения по умолчанию объявляют как nullable.
Если при вызове имя не указали, внутри функции
там null:
void greet({String? name}) {
print(name ?? 'hello');
}
void main() {
greet(name: 'Ann');
greet();
}
Тип параметра записывают с вопросительным знаком, даже если имя при вызове передали:
void show({int? level}) {
if (level != null) {
print(level);
} else {
print('no level');
}
}
void main() {
show(level: 2);
show();
}
Перед вызовом метода строки или арифметикой значение проверяют так же, как у обычной nullable-переменной:
void tag({String? label}) {
print(label?.toUpperCase() ?? 'empty');
}
void main() {
tag(label: 'go');
tag();
}
Напишите функцию hello с именованным
параметром name без значения по умолчанию.
Если имя не передали, она выводит guest.
Иначе выводит переданное имя. Вызовите ее
с именем и без.
Напишите функцию twice с именованным
параметром val без значения по умолчанию.
Если число есть, выведите его удвоенное.
Иначе выведите 0. Проверьте оба варианта
вызова.
Напишите функцию title с именованным
параметром text без значения по умолчанию.
Она выводит строку в верхнем регистре или
none, если текста нет. Вызовите ее
для непустого текста и без аргумента.