Menu
CoddyTech

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

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

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). Символ подчёркивания убирает это требование и упрощает вызов, когда назначение функции и так понятно из её имени.

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

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

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

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


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


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

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

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

Потренируйтесь самостоятельно: Песочница Swift