0Pricing
Dart Academy · Aula

Patterns e guards de switch

Combine formatos e adicione condições when.

Patterns e guards de switch é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 4 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.

switch encontra os padrões

O Dart moderno permite que switch corresponda a padrões, não apenas a constantes. Cada caso pode verificar a forma de um valor e desempacotá-lo de uma só vez. 🔀

Correspondendo à forma de um registro

Um caso pode ser um padrão de registro. Se o valor corresponder a essa forma, o caso será executado e seus campos serão associados a variáveis.

switch (point) {
  case (0, 0): print('origin');
}

Associando durante a correspondência

Os padrões podem capturar valores enquanto fazem a correspondência. Dê nome às posições e você terá os campos prontos para usar dentro do corpo do caso.

switch (p) {
  case (var x, var y): print(x + y);
}

O caso curinga

Um caso com sublinhado corresponde a qualquer coisa. Ele funciona como um caso padrão, capturando valores que nenhum caso anterior tratou.

switch (n) {
  case 1: print('one');
  case _: print('other');
}

O que é uma guarda?

Uma guarda adiciona uma condição a um caso com a palavra-chave when. O caso só é executado se o padrão corresponder e o teste for verdadeiro.

case (var x, var y) when x == y:
  print('diagonal');

As guardas refinam uma correspondência

Use uma guarda quando a forma, sozinha, não for suficiente. Ela permite dividir um padrão em resultados mais específicos com base nos valores.

A ordem decide o vencedor

Os casos são verificados de cima para baixo. O primeiro caso correspondente vence; portanto, coloque os padrões mais específicos antes dos mais abrangentes.

switch como expressão

Uma expressão switch retorna um valor. Os casos usam a seta, e todo o switch é avaliado como um único resultado.

var label = switch (n) {
  1 => 'one',
  _ => 'many',
};

Não é necessário usar break

Os casos com padrões não continuam automaticamente para o caso seguinte, portanto você nunca escreve break. Cada caso é independente e organizado.

Padrões de ou lógico

Una padrões com || para corresponder a várias formas em um único caso. Trate valores relacionados em conjunto sem repetir os corpos.

case 1 || 2 || 3:
  print('small');

Abrangente e seguro

Para tipos selados, o compilador verifica se o seu switch é abrangente. Se você esquecer um caso, Dart avisará antes mesmo da execução.

Verificação rápida

Qual palavra-chave adiciona uma condição extra ao padrão de um caso de switch?

Recapitulação: padrões e guardas

Você conseguiu! 🎯 O switch pode corresponder a padrões, capturar campos, refinar correspondências com guardas when e retornar valores como uma expressão.

Perguntas Frequentes

A aula “Patterns e guards de switch” é grátis?

Sim — o texto completo de “Patterns e guards de switch” é 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 “Patterns e guards de switch”?

Combine formatos e adicione condições when. 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 4 de 4.

Quanto tempo leva a aula “Patterns e guards de switch”?

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