Обязательные именованные параметры
Часть раздела Основы путешествия по 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'
Задание
НовичокВ этом вызове вы попрактикуетесь в использовании ключевого слова 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';
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Проект: Простой калькулятор
НастройкаОбъявление числа