Ein Slice von Schlüsseln aus einer map in Go erhalten
-
Verwenden Sie
range
undappend()
, um ein Stück Schlüssel von einer map in Go zu erhalten -
Verwenden Sie die
MapKeys
-Funktion, um ein Stück Schlüssel von einer map in Go zu erhalten
![Ein Slice von Schlüsseln aus einer map in Go erhalten](/img/Go/feature-image---get-a-slice-of-keys-from-map.webp)
Golang Map ist eine Sammlung von ungeordneten Schlüssel-Wert-Paaren. Es wird häufig verwendet, da es schnelle Suchen und Werte ermöglicht, die mithilfe von Schlüsseln abgerufen, aktualisiert oder gelöscht werden.
Werte in Maps sind nicht eindeutig wie Schlüssel und können jeden beliebigen Typ haben, z. B. int, float64, rune, text, pointer, reference type, map type, etc.
In diesem Tutorial rufen wir ein Stück Schlüssel von einer map in Go ab.
Verwenden Sie range
und append()
, um ein Stück Schlüssel von einer map in Go zu erhalten
Wir beginnen in diesem Beispiel mit einer Zuordnung von Zeichenfolgenschlüsseln und Zeichenfolgenwerten. Dann veranschaulichen wir, wie Sie nur die Schlüssel in einem separaten String-Slice abrufen.
Wir erhalten die Schlüssel aus der Map, indem wir range
verwenden und sie mit append()
an ein leeres Slice anhängen.
package main
import "fmt"
func main() {
m := map[string]string{
"animal": "Cat",
"Car": "GMC",
"Metal": "Gold",
}
keys := []string{}
for key, _ := range m {
keys = append(keys, key)
}
fmt.Println("KEYS SLICE -", keys)
}
Ausgabe:
KEYS SLICE - [animal Car Metal]
Verwenden Sie die MapKeys
-Funktion, um ein Stück Schlüssel von einer map in Go zu erhalten
Um ein Array von Schlüsseln vom Typ []Value
zu erhalten, verwenden wir die MapKeys
-Methode aus dem Reflect-Paket.
package main
import (
"fmt"
"reflect"
)
func main() {
a := map[string]string{
"animal": "Cat",
"Car": "GMC",
"Metal": "Gold",
}
keys := reflect.ValueOf(a).MapKeys()
fmt.Println("Keys Slice -", keys)
}
Ausgabe:
Keys Slice - [animal Car Metal]