for-in sobre coleções
Percorra cada item sem usar um índice.
for-in sobre coleções é 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.
Ignore o índice
Muitas vezes, você quer apenas cada item, não sua posição. O laço for-in fornece os itens um de cada vez, sem que você precise gerenciar um contador. ✨
A estrutura do for-in
Escreva for, um nome de variável, a palavra-chave in e, depois, sua coleção. A cada passagem, a variável recebe o próximo elemento.
for (var item in items) {
print(item);
}Percorrendo uma lista
Aponte o for-in para uma List e ele visitará cada elemento na ordem, do primeiro ao último, sem que você precise usar length ou colchetes.
var fruits = ['apple', 'pear'];
for (var f in fruits) {
print(f);
}Mais simples do que usar índices
Em comparação com um laço for clássico, o for-in elimina o contador, a verificação de length e a consulta com colchetes. Menos código significa menos erros.
for (var f in fruits) {
print(f);
}Variável de laço tipada
Para obter mais clareza, você pode informar o tipo em vez de var. Aqui, cada elemento é explicitamente uma String enquanto o laço percorre a lista.
for (String name in names) {
print(name);
}Percorrendo um conjunto
Um Set também funciona com for-in. Você obtém cada valor único uma vez, embora a ordem não seja garantida como em uma lista.
var ids = {1, 2, 3};
for (var id in ids) {
print(id);
}Qualquer Iterable
O for-in funciona com qualquer Iterable, não apenas listas e conjuntos. Isso inclui intervalos, chaves de mapas e os resultados de map ou where.
for (var k in scores.keys) {
print(k);
}Percorrendo entradas de um mapa
Para percorrer um Map, percorra suas entradas. Cada entrada expõe uma chave e um valor que você pode ler juntos em uma única passagem.
for (var e in scores.entries) {
print('${e.key}: ${e.value}');
}Somente leitura por hábito
Trate a variável do laço como uma cópia de cada valor. Reatribuir essa variável não altera o elemento original da coleção.
for (var n in nums) {
n = n * 2; // does not change nums
}Não modifique durante o laço
Adicionar ou remover itens de uma coleção durante um for-in gera um erro. Em vez disso, crie uma lista nova ou percorra uma cópia.
for (var x in list) {
// list.add(x); // throws!
}Alternativa com forEach
O método forEach faz o mesmo trabalho usando uma função de retorno de chamada. O for-in geralmente é mais claro e permite usar break e continue.
fruits.forEach((f) => print(f));Verificação rápida
Você quer imprimir cada valor de uma List sem gerenciar um índice. Qual é a escolha mais simples?
Recapitulação
Você aprendeu o laço for-in: visitar cada item de qualquer Iterable sem contador. Percorra listas, conjuntos e entradas de mapas com clareza. 🎯
Perguntas Frequentes
A aula “for-in sobre coleções” é grátis?
Sim — o texto completo de “for-in sobre 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 “for-in sobre coleções”?
Percorra cada item sem usar um índice. 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 “for-in sobre 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 clássico laço for
- Laços while e do-while
- for-in sobre coleções
- break, continue e rótulos