Introdução
A palavra-chave range é utilizada para iterar sobre elementos em uma variedade de estruturas de dados em Golang. Neste laboratório, exploraremos como usar range com diferentes estruturas de dados.
This tutorial is from open-source community. Access the source code
A palavra-chave range é utilizada para iterar sobre elementos em uma variedade de estruturas de dados em Golang. Neste laboratório, exploraremos como usar range com diferentes estruturas de dados.
O problema a ser resolvido neste laboratório é demonstrar como usar range com slices, arrays, maps e strings.
Para completar este laboratório, você precisará de:
$ go run range.go
sum: 9
index: 1
a - > apple
b - > banana
key: a
key: b
0 103
1 111
Abaixo está o código completo:
// _range_ itera sobre elementos em uma variedade de estruturas de dados.
// Vamos ver como usar `range` com algumas das estruturas de dados que já aprendemos.
package main
import "fmt"
func main() {
// Aqui usamos `range` para somar os números em um slice.
// Arrays funcionam assim também.
nums := []int{2, 3, 4}
sum := 0
for _, num := range nums {
sum += num
}
fmt.Println("sum:", sum)
// `range` em arrays e slices fornece tanto o
// índice quanto o valor para cada entrada. Acima, não
// precisávamos do índice, então o ignoramos com o
// identificador em branco `_`. Às vezes, na verdade, queremos
// os índices.
for i, num := range nums {
if num == 3 {
fmt.Println("index:", i)
}
}
// `range` em map itera sobre pares chave/valor.
kvs := map[string]string{"a": "apple", "b": "banana"}
for k, v := range kvs {
fmt.Printf("%s -> %s\n", k, v)
}
// `range` também pode iterar apenas sobre as chaves de um map.
for k := range kvs {
fmt.Println("key:", k)
}
// `range` em strings itera sobre pontos de código Unicode.
// O primeiro valor é o índice de byte inicial
// do `rune` e o segundo o próprio `rune`.
// Veja [Strings and Runes](strings-and-runes) para mais
// detalhes.
for i, c := range "go" {
fmt.Println(i, c)
}
}
Neste laboratório, aprendemos como usar range com slices, arrays, maps e strings em Golang. A palavra-chave range fornece uma maneira conveniente de iterar sobre elementos em diferentes estruturas de dados.