Sobes.tech
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 make initialisiert, 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")
}