Menu
Coddy logo textTech

Значения параметров по умолчанию

Часть раздела Основы путешествия по Dart на Coddy — урок 75 из 94.

Значения параметров по умолчанию позволяют указывать запасные значения для параметров функции, которые не предоставлены при вызове функции.

Создайте функцию с значением параметра по умолчанию:

void greet(String name, [String greeting = 'Hello']) {
  print('$greeting, $name!');
}

Вызовите функцию с опциональным параметром и без него:

void main() {
  greet('Dart');
  greet('Dart', 'Welcome');
}

После выполнения приведённого выше кода вывод будет:

Hello, Dart!
Welcome, Dart!

Вы также можете использовать значения по умолчанию с именованными параметрами:

void showInfo({required String name, int age = 30}) {
  print('$name is $age years old');
}

void main() {
  showInfo(name: 'Alex');
  showInfo(name: 'Maya', age: 25);
}

После выполнения приведенного выше кода вывод будет следующим:

Alex is 30 years old
Maya is 25 years old
challenge icon

Задание

Новичок

В этом задании вы попрактикуетесь в использовании значений параметров по умолчанию в функциях Dart. Значения параметров по умолчанию позволяют указать значение, которое будет использовано, если параметр не предоставлен при вызове функции.

Завершите функцию greet, добавив значение по умолчанию "Hello" для параметра greeting.

Ожидаемый вывод:

Hello, Alice!
Welcome, Bob!

Шпаргалка

Значения параметров по умолчанию предоставляют запасные значения для параметров функции, когда они не предоставлены во время вызова функции.

Для необязательных позиционных параметров используйте квадратные скобки с значениями по умолчанию:

void greet(String name, [String greeting = 'Hello']) {
  print('$greeting, $name!');
}

greet('Dart');           // Hello, Dart!
greet('Dart', 'Welcome'); // Welcome, Dart!

Для именованных параметров присваивайте значения по умолчанию напрямую:

void showInfo({required String name, int age = 30}) {
  print('$name is $age years old');
}

showInfo(name: 'Alex');              // Alex is 30 years old
showInfo(name: 'Maya', age: 25);     // Maya is 25 years old

Попробуйте сами

void main() {
  // Эти имена уже определены для вас
  String name1 = 'Alice';
  String name2 = 'Bob';
  
  // TODO: Вызовите функцию greet дважды:
  // 1. Один раз только с name1 (должно использовать приветствие по умолчанию)
  // 2. Один раз с name2 и приветствием "Welcome"
  greet(name1);
  greet(name2, "Welcome");
}

// TODO: Измените эту функцию, чтобы добавить значение по умолчанию "Hello" для параметра greeting
void greet(String name, String greeting) {
  print('$greeting, $name!');
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы