Junior — Middle
Pode explicar o que se entende por Auto Closure no contexto da programação?
sobes.tech IA
Resposta da IA
Auto Closure é um mecanismo em Swift que permite envolver automaticamente uma expressão numa closure (fecho). Isto significa que, em vez de passar uma closure explicitamente, pode-se passar uma expressão que só será avaliada quando a closure for chamada.
Vantagens:
- Cálculo diferido: a expressão não é avaliada imediatamente, mas apenas quando necessário.
- Sintaxe conveniente: o código torna-se mais limpo e simples.
Exemplo:
func logIfTrue(_ predicate: @autoclosure () -> Bool) {
if predicate() {
print("A condição é verdadeira")
}
}
logIfTrue(2 > 1) // A expressão 2 > 1 é automaticamente envolvida numa closure
Aqui, 2 > 1 não é avaliado imediatamente na chamada, mas apenas dentro da função ao chamar predicate().