Sobes.tech
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.