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