capypad
0 Tage Serie
go / beginner
Snippet

Go Maps verstehen

Maps in Go sind ungeordnete Key-Value-Datenstrukturen. Sie werden mit dem eingebauten `map`-Keyword und der Syntax `map[SchluesselTyp]WertTyp` erstellt. Du kannst Einträge mit Klammernotation hinzufügen, die Existenz mit dem Komma-Ok-Idiom prüfen, Einträge mit der `delete()`-Funktion löschen und über alle Einträge mit `range` iterieren. Maps geben den Nullwert für fehlende Schlüssel zurück.

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
package main
 
import "fmt"
 
func main() {
scores := map[string]int{
"Alice": 95,
"Bob": 87,
"Charlie": 92,
}
 
scores["Diana"] = 88
 
if score, exists := scores["Bob"]; exists {
fmt.Printf("Bob's score: %d\n", score)
}
 
delete(scores, "Charlie")
 
for name, score := range scores {
fmt.Printf("%s: %d\n", name, score)
}
}
Erklärung
1
scores := map[string]int{
Deklariert eine Map mit String-Schlüsseln und int-Werten
2
"Alice": 95,
Initialisiert mit drei Key-Value-Paaren
3
scores["Diana"] = 88
Fügt einen neuen Eintrag zur Map hinzu
4
if score, exists := scores["Bob"]; exists {
Komma-Ok-Idiom prüft ob Schlüssel existiert und holt Wert
5
delete(scores, "Charlie")
Entfernt einen Eintrag aus der Map
6
for name, score := range scores {
Iteriert über alle Key-Value-Paare