0Pricing
Dart Academy · Aula

Funções anônimas e fechamentos

Capture variáveis em funções embutidas.

Funções anônimas e fechamentos é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.

Funções sem nomes

Às vezes, você precisa de uma função uma única vez e nunca mais. Uma função anônima não tem nome e é escrita exatamente onde será usada. ✨

A estrutura básica

Uma função anônima contém apenas parâmetros e um corpo, sem nome na frente. Você pode armazená-la em uma variável.

var greet = (String n) {
  print('Hi ' + n);
};

Chamando a função armazenada

Depois de armazená-la, você a chama por meio da variável, assim como faria com qualquer função nomeada, usando parênteses.

greet('Ada');

Passando uma função diretamente

Na maioria das vezes, você passa uma função anônima diretamente para um método. Aqui, forEach a chama para cada item.

[1, 2, 3].forEach((n) {
  print(n * 2);
});

Funções anônimas de seta

Para um corpo de uma única expressão, combine funções anônimas com a seta para manter tudo compacto.

var doubled = [1, 2, 3].map((n) => n * 2);

O que é um fechamento?

Um fechamento é uma função que se lembra das variáveis do local onde foi criada, mesmo depois que o escopo externo termina.

Capturando uma variável

A função interna abaixo captura etapa. Ela continua usando esse valor sempre que você chama posteriormente a função retornada.

Function adder(int step) {
  return (int x) => x + step;
}

Cada fechamento é independente

Chame a fábrica duas vezes, e cada fechamento retornado manterá um valor capturado separado. Eles não interferem um no outro.

var add5 = adder(5);
var add10 = adder(10);

Fechamentos mantêm estado

Uma variável capturada pode mudar entre as chamadas, permitindo que um fechamento se lembre do progresso, como um pequeno contador.

int count = 0;
var tick = () => ++count;

Por que isso é importante

Retornos de chamada, manipuladores de eventos e métodos de listas dependem de fechamentos. Eles permitem agrupar o comportamento com os dados de que ele precisa.

Mantenha-os pequenos

Fechamentos em linha são excelentes quando curtos. Se um deles ficar complexo, dê-lhe um nome real para que outras pessoas possam lê-lo facilmente.

Verificação rápida

O que faz uma função ser um fechamento?

Recapitulação

Você conheceu funções anônimas para usos únicos e fechamentos que capturam variáveis ao redor para manter seu próprio estado. 🎯

Perguntas Frequentes

A aula “Funções anônimas e fechamentos” é grátis?

Sim — o texto completo de “Funções anônimas e fechamentos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.

O que vou aprender em “Funções anônimas e fechamentos”?

Capture variáveis em funções embutidas. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Dart Academy?

Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Funções anônimas e fechamentos”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Dart Academy?

Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Sintaxe de seta para funções de uma linha
  2. Funções anônimas e fechamentos
  3. Tipos anuláveis e o ponto de interrogação
  4. Operadores conscientes de nulo: ?., ?? e !
← Voltar para Dart Academy