if e for em coleções
Crie listas condicionalmente e em laços.
if e for em coleções é 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.
Lógica dentro de literais
Às vezes, o conteúdo de uma lista depende de uma condição. O Dart permite colocar uma condição diretamente no literal da coleção, para que você a construa em um só lugar.
Condicional de coleção
Uma condicional de coleção adiciona um elemento somente quando sua condição é verdadeira. Se nenhuma condição for atendida, esse espaço simplesmente não contribui com nada.
var nav = ['Home', if (loggedIn) 'Profile'];Condicional com alternativa
Você pode adicionar uma alternativa para escolher entre dois elementos. Um dos dois sempre entra na coleção, nunca ambos.
var tags = [if (vip) 'Gold' else 'Standard'];Não são necessárias chaves
Ao contrário de uma condição no nível da instrução, a condicional de coleção não usa chaves nem pontos e vírgulas. Ela produz um elemento, não executa um bloco.
Laço de coleção
Um laço de coleção gera elementos por meio de repetições, diretamente dentro do literal. Cada passagem adiciona o que o corpo do laço produzir.
var doubled = [for (var n in nums) n * 2];Como um mapeamento, mas embutido
Um laço de coleção geralmente substitui uma chamada de mapeamento quando você já está dentro de um literal. Para transformações simples, ele pode ser lido de forma mais direta.
Misturando condições e laços
Você pode combiná-los: repetir com um laço e depois filtrar com uma condição. Juntos, eles constroem uma lista estruturada em um único literal expressivo.
var evens = [for (var n in nums) if (n.isEven) n];Funciona além das listas
A condicional e o laço de coleção também funcionam em literais de conjuntos e mapas. A mesma sintaxe simples estrutura qualquer um dos três tipos de coleção.
var m = {for (var u in users) u.id: u.name};Combina com a expansão
Você pode combinar esses recursos com o operador de expansão. Insira alguns itens, expanda outra coleção e adicione condicionais, tudo em um único literal.
var x = [...base, if (extra) 'plus'];Por que é melhor que construir depois
Construir a coleção desde o início mantém o código declarativo. Você evita criar uma lista vazia e inserir itens nela com instruções separadas.
Ótimo para listas de interface
Isso se destaca no Flutter, onde uma lista de filhos geralmente exibe componentes de forma condicional ou a partir de dados. O literal permanece limpo e legível. 🧩
Verificação rápida
O que uma condicional de coleção faz quando sua condição é falsa e nenhuma alternativa é fornecida?
Recapitulação
A condicional de coleção adiciona elementos condicionalmente, e o laço de coleção os gera em uma repetição, diretamente dentro de literais de listas, conjuntos e mapas. 🎯
Perguntas Frequentes
A aula “if e for em coleções” é grátis?
Sim — o texto completo de “if e for em coleções” é 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 “if e for em coleções”?
Crie listas condicionalmente e em laços. 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 “if e for em coleções”?
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
- O operador de cascata (..)
- Cascatas com atalho para nulo (?..)
- Spread e spread consciente de nulo
- if e for em coleções