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
- Records: tuplas leves
- Campos posicionais e nomeados de records
- Desestruturação com patterns
- Patterns e guards de switch