Позиционные и именованные параметры
Вызов функций с понятными позиционными или именованными аргументами
«Позиционные и именованные параметры» — бесплатный урок Dart Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.
Два способа передавать аргументы
В Dart есть два стиля параметров: позиционные и именованные. Правильный выбор делает вызовы функций понятнее и защищает от ошибок.
Позиционные параметры
Позиционные параметры сопоставляются по порядку. Первое значение заполняет первый параметр, второе — второй и так далее.
int sub(int a, int b) {
return a - b;
}
sub(10, 3); // 7Порядок действительно важен
При использовании позиционных аргументов изменение порядка меняет смысл. Здесь порядок определяет, какое значение чему соответствует, поэтому будьте внимательны.
sub(3, 10); // -7, not 7Именованные параметры
Заключите параметры в фигурные скобки, чтобы сделать их именованными. Тогда вызывающий код передаёт их по меткам, и порядок больше не имеет значения.
void move({int x, int y}) {
// ...
}Вызов с метками
При вызове функции с именованными параметрами запишите каждую метку, за которой следует двоеточие. Такой вызов читается почти как обычная фраза.
move(y: 5, x: 2);Именованные аргументы понятны без пояснений
Метки превращают непонятные вызовы в читаемые. Читатель сразу видит назначение каждого значения, поэтому именованные аргументы особенно хороши для ясности. 📖
drawBox(width: 100, height: 50);Именованные параметры по умолчанию необязательны
Обычные именованные параметры являются необязательными, поэтому вызывающий код может их пропустить. Если не указать иное, Dart подставит вместо них null.
void config({String? theme}) {}
config(); // theme is nullНеобязательные позиционные параметры
Квадратные скобки также делают позиционные параметры необязательными. Последние параметры можно не указывать, и по умолчанию они получают null.
String tag(String name, [String? id]) {
return id == null ? name : "$name#$id";
}Сочетание обоих стилей
Сначала можно указать обязательные позиционные параметры, а затем добавить именованные в фигурных скобках. Обязательные значения идут первыми, остальные остаются гибкими.
void log(String msg, {bool loud = false}) {}Как выбрать подходящий вариант
Используйте позиционные параметры для одного-двух очевидных входных значений. Именованные параметры лучше подходят для вызовов с большим количеством значений или логических флагов, которым нужны метки.
Как избежать ловушек с логическими значениями
Отдельное true в вызове ничего не говорит читателю. Именованный параметр вроде animate: true совершенно ясно показывает намерение. ✅
show(animate: true);Быстрая проверка
Проверим, насколько хорошо Вы разобрались в стилях параметров.
Повторение
Теперь Вы умеете выбирать позиционные параметры для коротких вызовов, именованные — для понятных, а также сочетать оба вида. Ясные вызовы означают меньше ошибок. 🎯
Часто задаваемые вопросы
Урок «Позиционные и именованные параметры» бесплатный?
Да — полный текст урока «Позиционные и именованные параметры» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.
Чему я научусь в уроке «Позиционные и именованные параметры»?
Вызов функций с понятными позиционными или именованными аргументами Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Dart Academy?
Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Позиционные и именованные параметры»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Dart Academy?
Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объявление функций и типы возвращаемых значений
- Позиционные и именованные параметры
- Значения по умолчанию и required
- Функции как значения первого класса