0Pricing
Go Academy · Aula

O laço for: todos os padrões

Laços clássicos, no estilo while, infinitos e com range

O laço for: todos os padrões é uma aula grátis de Go Academy no CoddyKit. Esta é a aula 2 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 Go Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Go Academy inclui 4 aulas no total.

Go tem apenas um laço

Go tem apenas o laço for — não há while nem do-while. A palavra-chave for abrange todos os padrões de iteração por meio de diferentes formas.

Laço for no estilo clássico de C

O laço tradicional com três cláusulas:

for i := 0; i < 5; i++ {
    fmt.Println(i)
}

Laço no estilo while

Omita as cláusulas de inicialização e pós-iteração para obter um laço semelhante a while:

n := 1
for n < 100 {
    n *= 2
}

Laço infinito

Omita todas as cláusulas para criar um laço infinito (é preciso usar break ou return para sair):

for {
    msg := receive()
    if msg == "quit" {
        break
    }
    process(msg)
}

range sobre uma fatia

range percorre uma fatia, retornando o índice e o valor:

fruits := []string{"apple", "banana", "cherry"}
for i, fruit := range fruits {
    fmt.Printf("%d: %s\n", i, fruit)
}

range sobre um mapa

range sobre um mapa retorna pares de chave e valor (a ordem da iteração é aleatória):

scores := map[string]int{"Alice": 90, "Bob": 85}
for name, score := range scores {
    fmt.Printf("%s: %d\n", name, score)
}

range sobre uma cadeia de caracteres

Percorrer uma cadeia de caracteres com range fornece valores rune (pontos de código Unicode), não bytes:

for i, r := range "Go!" {
    fmt.Printf("index %d: %c\n", i, r)
}

range sobre um canal

Percorrer um canal com range lê valores até que o canal seja fechado:

ch := make(chan int, 3)
ch <- 1; ch <- 2; ch <- 3
close(ch)
for v := range ch {
    fmt.Println(v)
}

break e continue

break sai do laço mais interno; continue avança diretamente para a próxima iteração:

for i := 0; i < 10; i++ {
    if i%2 == 0 {
        continue // skip even numbers
    }
    if i > 7 {
        break    // stop at 7
    }
    fmt.Println(i)
}

break com rótulo

Os rótulos permitem sair de um laço externo a partir de dentro de um laço interno:

outer:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        if i+j == 3 {
            break outer
        }
    }
}

Verificação rápida

Como escrever um laço infinito em Go?

Recapitulação: o laço for

O laço for do Go abrange todos os padrões de iteração:

  • Clássico: for i := 0; i < n; i++
  • Estilo while: for condition
  • Infinito: for {}
  • Range: sobre fatias, mapas, cadeias de caracteres e canais
  • break/continue com rótulos opcionais para laços aninhados

Próximo: instruções switch em Go.

Perguntas Frequentes

A aula “O laço for: todos os padrões” é grátis?

Sim — o texto completo de “O laço for: todos os padrõ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 Go Academy, atualize para CoddyKit PRO. O curso de Go Academy inclui 4 aulas no total.

O que vou aprender em “O laço for: todos os padrões”?

Laços clássicos, no estilo while, infinitos e com range Você pratica Go 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 Go Academy?

Nenhuma experiência prévia é necessária. Go 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 2 de 4.

Quanto tempo leva a aula “O laço for: todos os padrõ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 Go Academy?

Sim. Cada aula de Go 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. Instruções if e expressões de inicialização
  2. O laço for: todos os padrões
  3. Instruções switch em Go
  4. break, continue e rótulos
← Voltar para Go Academy