0Pricing
Dart Academy · Aula

Desestruturação com patterns

Separe records, listas e mapas.

Desestruturação com patterns é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 3 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.

O que é a desestruturação?

Desestruturação significa extrair valores de uma estrutura e colocá-los em variáveis de uma só vez. É como desempacotar uma caixa e etiquetar cada item ao mesmo tempo. 🎁

Os padrões descrevem a forma

Um padrão é um modelo que corresponde à forma de um valor. Se o valor for compatível, Dart associa suas partes aos nomes que você escreveu.

Desestruturando um registro

Coloque um padrão de registro à esquerda de =, e Dart preencherá cada variável a partir da posição correspondente. Dois valores, dois nomes, instantaneamente.

var (a, b) = (1, 2);
print(a);

Padrões de registros nomeados

Para campos nomeados, faça a correspondência pelo nome dentro do padrão. O nome do campo à esquerda informa a Dart qual valor deve obter.

var (x: a, y: b) = (x: 3, y: 7);
print(b);

Trocas com facilidade

A desestruturação é especialmente útil para trocar duas variáveis. Crie um registro, desempacote-o, e os valores trocarão de lugar em uma única linha limpa.

(a, b) = (b, a);
print(a);

Desestruturando uma lista

Um padrão de lista usa colchetes. Cada posição associa um elemento, portanto as posições correspondem às suas variáveis.

var [first, second] = [10, 20];
print(first);

O elemento restante

Dentro de um padrão de lista, ... captura todos os elementos que sobraram. Obtenha o primeiro elemento e deixe o restante reunir a cauda.

var [head, ...rest] = [1, 2, 3, 4];
print(rest);

Desestruturando um mapa

Um padrão de mapa lê valores pelas chaves. Liste as chaves que lhe interessam e associe cada uma a uma variável.

var {'id': id} = {'id': 42, 'name': 'A'};
print(id);

O padrão curinga

Use um sublinhado como curinga quando uma posição não for relevante. Ele corresponde a qualquer coisa e não associa nada.

var (_, important) = ('skip', 99);
print(important);

Desestruturação em for-in

Você pode desestruturar diretamente dentro de um laço for-in. Desempacote cada registro enquanto itera, sem precisar indexar manualmente.

for (var (k, v) in [(1, 'a')]) {
  print(v);
}

Código mais limpo e direto

Os padrões substituem várias consultas .field empilhadas por uma única linha legível. Sua intenção fica evidente de imediato.

Verificação rápida

O que o sublinhado faz no padrão var (_, x) = ('a', 1)?

Recapitulação: desestruturação

Muito bem! 🙌 Os padrões permitem desestruturar registros, listas e mapas em variáveis nomeadas, usando curingas e elementos restantes para obter uma correspondência limpa.

Perguntas Frequentes

A aula “Desestruturação com patterns” é grátis?

Sim — o texto completo de “Desestruturação com patterns” é 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 “Desestruturação com patterns”?

Separe records, listas e mapas. 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 3 de 4.

Quanto tempo leva a aula “Desestruturação com patterns”?

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. Records: tuplas leves
  2. Campos posicionais e nomeados de records
  3. Desestruturação com patterns
  4. Patterns e guards de switch
← Voltar para Dart Academy