Menu
Coddy logo textTech

Значения по умолчанию

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

Иногда параметр имеет значение, которое используется большую часть времени. Вместо того чтобы требовать от вызывающего кода указывать его каждый раз, можно присвоить этому параметру значение по умолчанию.

Чтобы задать значение по умолчанию, используйте оператор присваивания (=) после типа параметра:

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

greet(name: "Alice")                    // Вывод: Hello, Alice!
greet(name: "Bob", greeting: "Hi")      // Вывод: Hi, Bob!

При вызове функции можно пропустить параметры, у которых есть значения по умолчанию. Swift автоматически использует значение по умолчанию. Но если нужно другое значение, его всё равно можно указать явно.

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

func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
    return base + (base * taxRate)
}

print(calculatePrice(base: 100))              // Вывод: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Вывод: 120.0

Значения по умолчанию делают ваши функции более гибкими. В распространённых случаях они работают просто, но при необходимости всё же позволяют настроить их.

challenge icon

Задание

Легко
Напиши функцию formatGreeting, которая принимает name, greeting и repeatCount и возвращает отформатированное приветственное сообщение.

Функция должна использовать значения по умолчанию для необязательных параметров:

  • для greeting по умолчанию используется "Hello"
  • для repeatCount по умолчанию используется 1

Составь строку, которая повторяет шаблон приветствия указанное количество раз, разделяя повторы пробелами.

Параметры:

  • name (String): имя человека (обязательный параметр)
  • greeting (String): слово приветствия (по умолчанию: "Hello")
  • repeatCount (Int): количество повторений приветствия (по умолчанию: 1)

Возвращаемое значение: строка с повторяющимся шаблоном приветствия. Формат: "[greeting], [name]!", повторённый repeatCount раз и разделённый одиночным пробелом (String)

Например, если name равно "Alice", greeting равно "Hi", а repeatCount равно 2, функция возвращает "Hi, Alice! Hi, Alice!".

Если вызвать функцию только с name, равным "Bob" (используя значения по умолчанию), она возвращает "Hello, Bob!".

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

func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
    // Напишите код здесь
}
quiz iconПроверьте себя

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

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

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