Closures

Definição

Uma closure é uma função que mantém acesso às variáveis do seu escopo de definição, mesmo após esse escopo ter sido finalizado. Isso permite que a função "lembre" do ambiente onde foi criada, mesmo que esteja sendo executada em outro contexto.

Por que é importante

Closures permitem encapsular dados sem expô-los diretamente, criando funções com comportamento interno baseado em contexto anterior. Elas são fundamentais em programação funcional e em muitas APIs modernas baseadas em funções.

Também são úteis para preservar estado sem depender de variáveis globais ou estruturas externas.

Contextos comuns de uso

  • Callbacks e funções de evento
  • Funções que retornam outras funções (funções fábrica)
  • Criação de escopos isolados sem usar classes
  • Implementação de contador ou memória interna sem variáveis globais

Exemplo em código (Python)

def criar_contador():
      total = 0
  
      def incrementar():
          nonlocal total
          total += 1
          return total
  
      return incrementar
  
  contador = criar_contador()
  print(contador())  # 1
  print(contador())  # 2

A função incrementar é uma closure que mantém acesso à variável total mesmo depois que criar_contador já foi finalizada. Isso permite preservar estado de forma encapsulada.

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com