0Pricing
Swift Academy · Aula

Iteração de coleções com for-in

Percorra arrays, dicionários e conjuntos com enumerated e zip.

Iteração de coleções com for-in é uma aula grátis de Swift 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 Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Boas-vindas

O laço `for-in` funciona com qualquer `Sequence`: vetores, dicionários, conjuntos, textos e seus próprios tipos personalizados. Veja os padrões mais úteis.

Percorrendo um vetor

```swift let fruits = ["apple", "banana", "cherry"] for fruit in fruits { print(fruit) } // apple, banana, cherry ``` Cada elemento é associado a `fruit` durante uma iteração.

enumerated() — Índice e valor

Quando precisar tanto do índice quanto do valor, use `.enumerated()`: ```swift for (index, fruit) in fruits.enumerated() { print("\(index): \(fruit)") } // 0: apple // 1: banana // 2: cherry ``` `enumerated()` retorna uma sequência de tuplas `(offset, element)`.

Percorrendo um dicionário

A iteração de um dicionário produz tuplas `(key, value)` em uma ordem não especificada: ```swift let scores = ["Alice": 95, "Bob": 87] for (name, score) in scores { print("\(name): \(score)") } ``` Ordene as chaves primeiro se precisar de uma ordem determinística.

Percorrendo um conjunto

Os elementos de conjuntos são percorridos em uma ordem não especificada: ```swift let colors: Set = ["red", "green", "blue"] for color in colors.sorted() { print(color) } ``` Chame `.sorted()` quando precisar de ordem alfabética ou crescente.

zip() — Iteração paralela

Percorra duas sequências em paralelo com `zip()`: ```swift let names = ["Alice", "Bob", "Carol"] let scores = [95, 87, 92] for (name, score) in zip(names, scores) { print("\(name): \(score)") } ``` `zip` para na sequência mais curta.

Filtragem durante a iteração: cláusula where

Adicione uma cláusula `where` para ignorar elementos diretamente: ```swift for n in 1...20 where n % 3 == 0 { print(n) // 3, 6, 9, 12, 15, 18 } ``` Isso é mais claro do que colocar um `if` dentro do corpo do laço.

Iteração com índices

Acesse o intervalo bruto de índices com `.indices`: ```swift var arr = [10, 20, 30] for i in arr.indices { arr[i] *= 2 } // arr is now [20, 40, 60] ``` Use isto quando precisar *modificar* elementos no próprio lugar.

Desestruturação de tuplas em for-in

Sequências de tuplas podem ser desestruturadas diretamente no laço: ```swift let points = [(1, 2), (3, 4), (5, 6)] for (x, y) in points { print("x=\(x), y=\(y)") } ``` Claro e conciso — não há necessidade dos subscritos `.0` e `.1`.

Sequências preguiçosas em laços

Use o prefixo `.lazy` para adiar os cálculos e evitar matrizes intermediárias: ```swift let total = (1...1_000_000) .lazy .filter { $0 % 2 == 0 } .prefix(5) .reduce(0, +) print(total) // 30 ``` `.lazy` é muito útil ao encadear operações em sequências grandes.

Verificação rápida

Qual método fornece o índice e o valor ao iterar sobre uma matriz?

Recapitulação

Principais pontos: • `for elem in collection` — iteração básica • `.enumerated()` — pares de índice e valor • `zip(a, b)` — iteração paralela de duas sequências • `for x in seq where condition` — filtro embutido • `.indices` — use ao modificar elementos • `.lazy` — adia o trabalho em sequências grandes A seguir: break, continue e instruções rotuladas.

Perguntas Frequentes

A aula “Iteração de coleções com for-in” é grátis?

Sim — o texto completo de “Iteração de coleções com for-in” é 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 Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Iteração de coleções com for-in”?

Percorra arrays, dicionários e conjuntos com enumerated e zip. Você pratica Swift 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 Swift Academy?

Nenhuma experiência prévia é necessária. Swift 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 “Iteração de coleções com for-in”?

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 Swift Academy?

Sim. Cada aula de Swift 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. Laços for-in com intervalos
  2. Laços while e repeat-while
  3. Iteração de coleções com for-in
  4. break, continue e instruções rotuladas
← Voltar para Swift Academy