Вопрос проверяет понимание различий между замыканиями и функциями в Swift.
Функция — это именованный блок кода, а замыкание — анонимная функция, которая может захватывать переменные из окружающего контекста.
1. Основные отличия:
Имя:
Функция имеет имя (например, func calculate()).
Замыкание анонимно (например, { x in return x * 2 }).
Контекст:
Замыкание может захватывать и хранить ссылки на переменные из внешней области видимости.
2. Пример функции:
func greet(name: String) -> String {
return "Hello, \(name)!"
}3. Пример замыкания:
let greetClosure = { (name: String) -> String in
return "Hello, \(name)!"
}Вывод:
Замыкания удобны для краткости и работы с контекстом, функции — для повторного использования.