Junior — Middle
Podes falar sobre as características importantes do uso de closures na programação?
sobes.tech IA
Resposta da IA
Fechos (closures) são funções que « lembram » o contexto em que foram criadas, incluindo o acesso a variáveis do escopo externo mesmo após essa área não estar mais ativa.
Características importantes dos fechos:
- Permitem manter o estado entre chamadas de função.
- São usados para criar variáveis privadas e encapsulamento.
- São frequentemente utilizados em programação assíncrona e manipuladores de eventos.
Exemplo em Swift:
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
return {
total += amount
return total
}
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Aqui, o fecho mantém a variável total entre chamadas, permitindo acumular o valor.