capypad
0 Tage Serie
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
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 main
 
import "fmt"
 
func main() {
ages := map[string]int{
"Alice": 30,
"Bob": 25,
"Carol": 35,
}
 
fmt.Println("Bob's age:", ages["Bob"])
 
ages["David"] = 28
 
age, 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