Senior
Was kannst du über Maps in Go erzählen?
sobes.tech KI
Antwort von AI
In Go ist eine Map ein eingebauter Datentyp, der eine assoziative Array oder ein Wörterbuch implementiert, bei dem Schlüssel auf Werte abgebildet werden.
Eigenschaften der Map in Go:
- Schlüssel und Werte haben definierte Typen, z.B.
map[string]int— Schlüssel sind Strings, Werte ganze Zahlen. - Die Map wird mit der Funktion
makeinitialisiert, z.B.:m := make(map[string]int). - Zugriff auf Elemente erfolgt über
m[key]. - Wenn der Schlüssel nicht vorhanden ist, wird der Nullwert des Wertetyps zurückgegeben.
- Das Vorhandensein eines Schlüssels kann mit dem zweiten Rückgabewert geprüft werden:
val, ok := m[key]. - Maps sind nicht sortiert, die Traversierungsreihenfolge ist beliebig.
- Maps sind nicht threadsicher, für parallelen Zugriff muss Synchronisation verwendet werden.
Beispiel:
package main
import "fmt"
func main() {
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3
val, ok := m["apple"]
if ok {
fmt.Println("apple:", val)
}
// Schlüssel entfernen
delete(m, "banana")
}