ExpertiDict

Go · Essencial · Português · Técnico

range sobre inteiro

/ˈʁẽj.d͡ʒi ˈso.bɾi ĩˈtej.ɾu/substantivo

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

Veja também

Todos os termos de Go