Junior — Middle
Explique o conceito de closure e como é utilizado na programação
sobes.tech IA
Resposta da IA
O encerramento (closure) é uma função que «lembra-se» do ambiente em que foi criada, incluindo o acesso às variáveis do escopo externo, mesmo que essa área já tenha saído do contexto de execução.
Na programação, o closure é usado para:
- Manter o estado entre chamadas de função sem usar variáveis globais.
- Encapsular dados e criar variáveis privadas.
- Criar funções com parâmetros padrão que mantêm seus valores.
Exemplo em Swift (iOS):
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
let incrementer: () -> Int = {
total += amount
return total
}
return incrementer
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Aqui, incrementer é um closure que captura e armazena a variável total da função externa, permitindo manter o estado entre chamadas.