Sobes.tech
Junior — Middle

Можете ли објаснити шта подразумева Auto Closure у контексту програмирања?

sobes.tech АИ

Одговор од АИ

Auto Closure је механизам у Swift-у који аутоматски омотава израз у затварање (closure). То значи да уместо да преносите експлицитно затварање, можете пренети израз који ће бити израчунат само када се затварање позове.

Предности:

  • Одложено израчунавање: израз се не израчунава одмах, већ само када је потребно.
  • Удобна синтакса: код постаје чистији и једноставнији.

Пример:

func logIfTrue(_ predicate: @autoclosure () -> Bool) {
    if predicate() {
        print("Услова је истинита")
    }
}

logIfTrue(2 > 1) // Израз 2 > 1 се аутоматски омотава у затварање

Овде, 2 > 1 се не израчунава одмах при позиву, већ само унутар функције када се позове predicate().