0Pricing
Dart Academy · Урок

Позиционные и именованные параметры

Вызов функций с понятными позиционными или именованными аргументами

«Позиционные и именованные параметры» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Объявление функций и типы возвращаемых значений
  2. Позиционные и именованные параметры
  3. Значения по умолчанию и required
  4. Функции как значения первого класса
← Назад к Dart Academy