Sobes.tech
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().