Назад к вопросам
Альфа-Банк
Junior — Middle
72
Можешь назвать основные типы замыканий, используемых в программировании?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В iOS-программировании (Swift/Objective-C) замыкания (closures) — это блоки кода, которые можно передавать и использовать как объекты.
Основные типы замыканий:
-
Escaping closures — замыкания, которые могут быть вызваны после выхода из функции, в которую они были переданы. Например, асинхронные операции.
-
Non-escaping closures — замыкания, которые вызываются внутри функции и не сохраняются для последующего использования.
-
Autoclosures — замыкания, которые автоматически создаются компилятором для отложенного вычисления выражений, часто используются для оптимизации.
Пример escaping closure в Swift:
func fetchData(completion: @escaping (String) -> Void) {
DispatchQueue.global().async {
// имитация загрузки данных
let data = "Данные загружены"
completion(data)
}
}
fetchData { result in
print(result)
}
Здесь completion — escaping closure, так как вызывается асинхронно после выхода из функции.