Junior — Middle
Можете ли да обясните какво се разбира под Auto Closure в контекста на програмирането?
sobes.tech AI
Отговор от AI
Auto Closure е механизъм в Swift, който автоматично обвива израз в затваряне (closure). Това означава, че вместо да предавате явно затваряне, можете да предадете израз, който ще бъде изчислен само когато затварянето бъде извикано.
Предимства:
- Отложено изчисление: изразът не се изчислява веднага, а само когато е необходимо.
- Удобен синтаксис: кодът става по-ясен и по-прост.
Пример:
func logIfTrue(_ predicate: @autoclosure () -> Bool) {
if predicate() {
print("Условието е вярно")
}
}
logIfTrue(2 > 1) // Изразът 2 > 1 автоматично се обвива в затваряне
Тук 2 > 1 не се изчислява веднага при извикване, а само вътре във функцията при извикването на predicate().