Swift Academy · Урок

Метки аргументов и имена параметров

Разберитесь во внешних и внутренних именах параметров и в том, как вызовы Swift напоминают английскую фразу

Урок 1 из 412 шагов

«Метки аргументов и имена параметров» — бесплатный урок Swift Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.

Добро пожаловать

У функций Swift есть два имени для каждого параметра: *внешняя* метка аргумента, используемая в месте вызова, и *внутреннее* имя параметра, используемое внутри тела функции.

Внешние и внутренние имена

```swift func greet(person name: String) { print("Hello, \(name)!") } greet(person: "Alice") // call site uses 'person' // body uses 'name' ``` Внешняя метка повышает читаемость в месте вызова.

Отмена внешней метки с помощью _

Используйте `_`, чтобы скрыть метку аргумента: ```swift func square(_ n: Int) -> Int { n * n } print(square(5)) // 25 — no label needed ``` Это часто используется в математических и вспомогательных функциях, где метка была бы избыточной.

Метки, соответствующие смыслу вызова

Удачно выбранные метки превращают вызовы функций в предложения: ```swift func move(from source: String, to destination: String) {} move(from: "Home", to: "Work") ``` Это один из основных принципов проектирования API в Swift.

Одинаковые внешнее и внутреннее имя

Если указано только одно имя, оно используется в обеих ролях: ```swift func add(a: Int, b: Int) -> Int { a + b } add(a: 3, b: 4) // label == parameter name ``` Это распространённый стиль для простых функций.

Несколько параметров

```swift func divide(_ numerator: Double, by denominator: Double) -> Double { numerator / denominator } let result = divide(10.0, by: 2.0) // 5.0 ``` У первого параметра часто нет метки, а у последующих есть описательные метки.

Метки параметров в API

Собственные API Apple демонстрируют этот шаблон: ```swift array.insert(42, at: 0) string.replacingOccurrences(of: "a", with: "b") URLSession.shared.dataTask(with: request) ``` Произносите каждый вызов вслух — он должен звучать естественно.

Перегрузка с разными метками

Функции с одинаковым именем, но разными метками являются разными функциями: ```swift func load(url: String) {} func load(file: String) {} load(url: "https://example.com") load(file: "/tmp/data.json") ``` Метки различают перегруженные функции, не изменяя основное имя.

Вложенные вызовы функций и метки

Метки применяются и во вложенных вызовах: ```swift func stringify(_ n: Int) -> String { "\(n)" } func print(line value: String) { print(value) } print(line: stringify(42)) // "42" ```

Рекомендации

Рекомендации: • Отменяйте первую метку, если имя функции уже подразумевает её смысл: `makeURL(string:)` → `makeURL("…")` • Используйте грамматические предлоги в качестве внешних меток: `at`, `with`, `from`, `to` • Не дублируйте в метках информацию о типе: `func add(intValue v: Int)` избыточна

Быстрая проверка

Какой символ скрывает внешнюю метку аргумента в месте вызова?

Итоги

Главное: • `func f(external internal: Type)` — два имени: внешнее используется в месте вызова • `_` скрывает внешнюю метку • Удачно названные метки превращают вызовы функций в английские предложения • Если указано только одно имя, внешняя метка и имя параметра совпадают Далее: параметры со значениями по умолчанию и параметры с переменным числом аргументов.
Можно начать бесплатно

Изучай Swift с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
122
Уроки
409

Часто задаваемые вопросы

Урок «Метки аргументов и имена параметров» бесплатный?

Да — полный текст урока «Метки аргументов и имена параметров» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.

Чему я научусь в уроке «Метки аргументов и имена параметров»?

Разберитесь во внешних и внутренних именах параметров и в том, как вызовы Swift напоминают английскую фразу Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Метки аргументов и имена параметров»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

  1. Метки аргументов и имена параметров
  2. Параметры по умолчанию и вариативные параметры
  3. Параметры inout и возврат нескольких значений
  4. Функции как значения первого класса
← Назад к Swift Academy