Menu
Coddy logo textTech

Обязательные именованные параметры

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

Ключевое слово required требует предоставления именованных параметров при вызове функции. Без него именованные параметры по умолчанию необязательны.

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

void createUser({required String name, required int age}) {
  print('User created: $name, $age years old');
}

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

void main() {
  createUser(name: 'Alex', age: 30);
}

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

User created: Alex, 30 years old

Если вы попытаетесь опустить обязательный параметр, Dart покажет ошибку:

// This would cause an error:
// createUser(name: 'Alex'); // Missing required parameter 'age'
challenge icon

Задание

Новичок

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

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

Шпаргалка

Ключевое слово required обязывает предоставлять именованные параметры при вызове функции. Без него именованные параметры по умолчанию являются необязательными.

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

void createUser({required String name, required int age}) {
  print('User created: $name, $age years old');
}

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

createUser(name: 'Alex', age: 30);

Пропуск обязательного параметра вызовет ошибку компиляции.

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

void main() {
  // Этот вызов функции уже настроен для вас
  String profile = createUserProfile(name: 'Alice', age: 30);
  print(profile);
  
  // Раскомментируйте эту строку, чтобы увидеть, что происходит, когда отсутствуют обязательные параметры
  // String invalidProfile = createUserProfile(name: 'Bob');
}

// TODO: Добавьте ключевое слово 'required', чтобы сделать оба параметра обязательными
String createUserProfile({String name, int age}) {
  return 'User Profile: $name, $age years old';
}
quiz iconПроверьте себя

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

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