Go · Essencial · Português · Técnico
range sobre inteiro
Forma do Go 1.22 em que for i := range n repete n vezes, com i indo de 0 a n-1, dispensando o for clássico de três partes.
Onde usar
Simplifica laços de contagem e é muito usado em testes e benchmarks. Também aceita for range 3 sem variável, quando só importa repetir.
Em código
for i := range 3 {
fmt.Println(i) // 0, 1, 2
}
for range 2 {
fmt.Println("oi")
}Exemplos
Troquei o for clássico por range 10 e o código ficou menor.
O range sobre inteiro dá erro se o go.mod ainda declara Go 1.21.
Cuidado
Só funciona com Go 1.22 ou mais, conforme a versão no go.mod; em versões antigas, o compilador reclama de range sobre int.
Sinônimos
range sobre int