Junior — Middle
Was ist der Unterschied zwischen der Verwendung einer Map und eines Slices in Go, und in welchen Fällen ist es vorzuziehen, jeden von ihnen zu verwenden?
sobes.tech KI
Antwort von AI
In Go dienen map und slice unterschiedlichen Zwecken:
- map — assoziatives Array, Struktur zum Speichern von Schlüssel-Wert-Paaren mit schnellem Zugriff über den Schlüssel. Schlüssel sind eindeutig.
- slice — dynamisches Array, sortierte Sammlung von Elementen, Zugriff über Index.
Wann verwenden:
- Verwenden Sie map, wenn Sie Elemente schnell anhand eines eindeutigen Schlüssels finden müssen, z.B. Benutzer nach ID speichern.
- Verwenden Sie slice, wenn die Reihenfolge der Elemente wichtig ist oder Sie eine Sammlung von Elementen ohne Schlüssel speichern möchten, z.B. eine Aufgabenliste.
Beispiel:
// map zum Speichern von Noten der Studenten nach Namen
grades := map[string]int{"Alice": 90, "Bob": 85}
// slice zum Speichern einer Liste von Namen
names := []string{"Alice", "Bob", "Charlie"}
Die Wahl hängt von der Aufgabe ab: Für die Suche nach Schlüssel — map, für eine sortierte Liste — slice.