Назад к вопросам
Альфа-Банк
Одноклассники
Junior — Middle
89
Объясните концепцию замыкания в программировании и его применение
Компании, где спрашивали
Uzum
KTS
Ответ от нейросети
sobes.tech AI
Замыкание (closure) — это функция вместе с окружающим её лексическим контекстом, который сохраняет доступ к переменным из внешней области видимости даже после того, как эта внешняя функция завершила выполнение.
Применение замыканий:
- Сохранение состояния между вызовами функции без использования глобальных переменных.
- Инкапсуляция данных и создание приватных переменных.
- Создание функций с параметрами по умолчанию или частичной фиксацией аргументов.
Пример на Swift (iOS):
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
let incrementer: () -> Int = {
total += amount
return total
}
return incrementer
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Здесь incrementer — замыкание, которое сохраняет доступ к total и amount из внешней функции makeIncrementer.