Menu
Coddy logo textTech

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

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

Swift дает вам контроль над тем, как читаются вызовы функций, с помощью меток аргументов. Метка аргумента — это то, что вы используете при вызове функции, в то время как имя параметра — это то, что вы используете внутри тела функции.

Вы можете указать и то, и другое, написав метку аргумента перед именем параметра:

func greet(to name: String) {
    print("Hello, \(name)!")
}

greet(to: "Alice")  // Вывод: Hello, Alice!

Здесь to — это метка аргумента (используется при вызове), а name — имя параметра (используется внутри функции). Это делает вызов более естественным для чтения: "greet to Alice."

Иногда вы хотите полностью опустить метку для более чистых вызовов. Используйте нижнее подчеркивание (_) в качестве метки аргумента:

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // Вывод: 25

Без нижнего подчеркивания вам пришлось бы писать square(number: 5). Нижнее подчеркивание убирает это требование, делая вызов проще, когда имя функции уже само по себе проясняет её назначение.

challenge icon

Задание

Легко

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

Функция 1: send

  • Используйте метку аргумента message с именем параметра text (тип String)
  • Используйте метку аргумента to с именем параметра recipient (тип String)
  • Возвращайте строку в формате: "Sending '[text]' to [recipient]"

Функция 2: double

  • Используйте нижнее подчеркивание _, чтобы опустить метку аргумента
  • Имя параметра number (тип Int)
  • Возвращайте число, умноженное на 2

После определения обеих функций считайте две строки и одно целое число из входных данных, затем вызовите обе функции и выведите результаты на отдельных строках.

Вы получите следующие входные данные:

  • Первая строка: текст сообщения (например, "Hello")
  • Вторая строка: имя получателя (например, "Alice")
  • Третья строка: число для удвоения (например, "7")

Например, если входные данные — "Hello", "Alice" и "7", вывод должен быть следующим:

Sending 'Hello' to Alice
14

Шпаргалка

Swift позволяет управлять тем, как читаются вызовы функций, используя метки аргументов. Метка аргумента используется при вызове функции, в то время как имя параметра используется внутри тела функции.

Укажите оба значения, написав метку аргумента перед именем параметра:

func greet(to name: String) {
    print("Hello, \(name)!")
}

greet(to: "Alice")  // Результат: Hello, Alice!

Здесь to — это метка аргумента, а name — имя параметра.

Чтобы опустить метку аргумента для более лаконичных вызовов, используйте нижнее подчеркивание (_):

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // Результат: 25

Без нижнего подчеркивания вам пришлось бы писать square(number: 5).

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

// Чтение входных данных
let messageText = readLine()!
let recipientName = readLine()!
let numberToDouble = Int(readLine()!)!

// TODO: Напишите свой код ниже
// Определите функцию 'send' с метками аргументов 'message' и 'to'


// Определите функцию 'double' с пропущенной меткой аргумента, используя '_'


// Вызовите обе функции и выведите результаты
quiz iconПроверьте себя

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

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