capypad
0 Tage Serie
go / beginner
Snippet

Range: Über Sammlungen iterieren

Das range-Schlüsselwort bietet eine saubere Möglichkeit, über Slices, Arrays, Maps und Channels zu iterieren. Für Slices und Arrays gibt es sowohl den Index als auch den Wert zurück. Für Maps gibt es den Schlüssel und den Wert zurück. Sie können unerwünschte Werte mit dem Unterstrich _ ignorieren.

snippet.go
go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main
import "fmt"
 
func main() {
colors := []string{"Red", "Green", "Blue"}
 
for index, value := range colors {
fmt.Printf("%d: %s\n", index, value)
}
 
ages := map[string]int{"Max": 25, "Anna": 30}
for name, age := range ages {
fmt.Println(name, "is", age)
}
}
Erklärung
1
for index, value := range colors {
Range gibt Index und eine Kopie jedes Elements zurück
2
fmt.Printf("%d: %s\n", index, value)
Druckt formatierte Ausgabe mit Index und Wert
3
for name, age := range ages {
Range über Map gibt Schlüssel-Wert-Paare zurück
4
_ = index
Unterstrich verwirft unerwünschten Index