go / beginner
Snippet
Maps: Go's Key-Value-Datenstruktur
Maps in Go sind ungeordnete Sammlungen von Schlüssel-Wert-Paaren. Sie werden mit dem map-Schlüsselwort erstellt, gefolgt vom Schlüsseltyp in eckigen Klammern und dem Werttyp. Du kannst auf Werte mit dem Schlüssel in eckigen Klammern zugreifen und mit dem Komma-Ok-Idiom prüfen, ob ein Schlüssel existiert. Die delete-Funktion entfernt Einträge, und range iteriert über alle Schlüssel-Wert-Paare.
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
25
26
27
28
package mainimport "fmt"func main() {ages := map[string]int{"Alice": 30,"Bob": 25,"Carol": 35,}fmt.Println("Bob's age:", ages["Bob"])ages["David"] = 28age, exists := ages["Eve"]if exists {fmt.Println("Eve exists with age:", age)} else {fmt.Println("Eve not found")}delete(ages, "Carol")for name, age := range ages {fmt.Printf("%s is %d years old\n", name, age)}}
Erklärung
1
ages := map[string]int{...}
Erstellt eine Map mit String-Schlüsseln und int-Werten
2
ages["Bob"]
Greift auf den Wert für Schlüssel "Bob" zu, gibt 25 zurück
3
age, exists := ages["Eve"]
Komma-Ok-Idiom: exists ist false, wenn Schlüssel nicht gefunden
4
delete(ages, "Carol")
Entfernt das Schlüssel-Wert-Paar für "Carol"
5
for name, age := range ages
Iteriert über alle Schlüssel-Wert-Paare in zufälliger Reihenfolge