capypad
0 Tage Serie
go / beginner
Snippet

Maps: Go's Key-Value-Sammlungen

Maps sind Go's eingebaute Hash-Tabellen-Implementierung zum Speichern von Schlüssel-Wert-Paaren. Sie wachsen dynamisch und der Zugriff auf einen nicht existierenden Schlüssel gibt den Nullwert des Werttyps zurück. Das Komma-Ok-Idiom ermöglicht es Ihnen, zwischen einem fehlenden Schlüssel und einem tatsächlichen Nullwert zu unterscheiden.

snippet.go
go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package main
import "fmt"
 
func main() {
scores := map[string]int{
"Alice": 95,
"Bob": 87,
}
 
scores["Charlie"] = 92
fmt.Println("Bob's score:", scores["Bob"])
 
value, exists := scores["David"]
fmt.Printf("David: %d, exists: %t\n", value, exists)
 
delete(scores, "Bob")
fmt.Println("Scores:", scores)
}
Erklärung
1
scores := map[string]int{
Deklariert Map mit String-Schlüsseln und int-Werten
2
"Alice": 95,
Schlüssel-Wert-Paar bei Initialisierung hinzugefügt
3
scores["Charlie"] = 92
Fügt neues Schlüssel-Wert-Paar zur existierenden Map hinzu
4
value, exists := scores["David"]
Zwei-Werte-Zugriff: erster ist Wert, zweiter ist boolescher Existenz-Flag
5
delete(scores, "Bob")
Eingebaute Funktion entfernt Schlüssel und seinen Wert aus der Map