Необязательные позиционные параметры
Часть раздела Основы путешествия по Dart на Coddy — урок 72 из 94.
Опциональные позиционные параметры в Dart позволяют создавать функции, в которых некоторые параметры являются опциональными. Вы определяете их, помещая параметры внутрь квадратных скобок [].
Создайте функцию с необязательными позиционными параметрами:
void greet(String name, [String? greeting]) {
if (greeting != null) {
print('$greeting, $name!');
} else {
print('Hello, $name!');
}
}
void main() {
greet('Dart');
greet('Dart', 'Welcome');
}После выполнения приведённого выше кода вывод будет следующим:
Hello, Dart!
Welcome, Dart!Вы можете иметь несколько необязательных параметров:
int calculateTotal(int quantity, [int price = 10, int tax = 2]) {
return quantity * price + tax;
}
void main() {
print(calculateTotal(5));
print(calculateTotal(5, 20));
print(calculateTotal(5, 20, 5));
}После выполнения приведённого выше кода вывод будет следующим:
52
102
105Задание
НовичокВ этом вызове вы попрактикуетесь в использовании опциональных позиционных параметров в функциях Dart. Опциональные позиционные параметры позволяют создавать функции, в которых некоторые параметры являются опциональными.
Завершите функцию greet ниже, которая принимает обязательный параметр name и опциональный параметр title. Если title предоставлен, функция должна вернуть приветствие с обоими title и name. Если title не предоставлен, она должна использовать только name.
Ожидаемый вывод:
Hello, John!
Hello, Dr. Smith!Шпаргалка
Необязательные позиционные параметры в Dart определяются путем размещения параметров внутри квадратных скобок []:
void greet(String name, [String greeting]) {
if (greeting != null) {
print('$greeting, $name!');
} else {
print('Hello, $name!');
}
}Вы можете иметь несколько необязательных параметров со значениями по умолчанию:
int calculateTotal(int quantity, [int price = 10, int tax = 2]) {
return quantity * price + tax;
}Вызывайте функции с необязательными параметрами, предоставляя только обязательные аргументы или включая необязательные:
greet('Dart'); // Uses default behavior
greet('Dart', 'Welcome'); // Uses provided optional parameterПопробуйте сами
void main() {
// Эти переменные уже определены для вас
String person1 = "John";
String person2 = "Smith";
String title = "Dr.";
// Вызовите функцию greet только с именем
print(greet(person1));
// Вызовите функцию greet с именем и титулом
print(greet(person2, title));
}
// TODO: Завершите функцию greet с необязательным параметром title
// Параметр title должен быть необязательным (используйте квадратные скобки [])
String greet(String name) {
// Если title предоставлен, вернуть "Hello, {title} {name}!"
// Если title не предоставлен, вернуть "Hello, {name}!"
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Проект: Простой калькулятор
НастройкаОбъявление числа