go / beginner
Snippet
Range: Iterieren über Sammlungen
Das range-Schlüsselwort bietet eine Möglichkeit, über Elemente von Slices, Arrays, Maps und Strings zu iterieren. Für Slices und Arrays gibt es den Index und den Wert zurück. Für Maps gibt es den Schlüssel und den Wert zurück. Für Strings gibt es den Byte-Index und den Unicode-Codepoint zurück. Wenn du nur einen Wert benötigst, kannst du den anderen mit dem Blank-Identifier (Unterstrich) ignorieren.
snippet.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package mainimport "fmt"func main() {fruits := []string{"apple", "banana", "cherry"}for index, fruit := range fruits {fmt.Printf("%d: %s\n", index, fruit)}capitals := map[string]string{"Germany": "Berlin","France": "Paris",}for country, capital := range capitals {fmt.Printf("%s -> %s\n", country, capital)}for i, char := range "Hello" {fmt.Printf("%d: %c\n", i, char)}}
Erklärung
1
for index, fruit := range fruits
Iteriert Slice, index=0,1,2; fruit="apple","banana","cherry"
2
for country, capital := range capitals
Iteriert Map, Reihenfolge ist bei jedem Lauf zufällig
3
for i, char := range "Hello"
Iteriert String-Bytes, i=0,1,2,3,4; char='H','e','l','l','o'
4
_ , fruit := range fruits
Blank-Identifier ignoriert den Index