Obtenez une tranche de clés à partir d'une carte en Go
-
Utilisez
range
etappend()
pour obtenir une tranche de clés à partir d’une carte en Go -
Utilisez la fonction
MapKeys
pour obtenir une tranche de clés à partir d’une carte en Go
Golang Map est une collection de paires clé-valeur non ordonnées. Il est largement utilisé car il permet des recherches rapides et des valeurs récupérées, mises à jour ou supprimées à l’aide de clés.
Les valeurs dans les cartes ne sont pas uniques comme les clés et peuvent être de n’importe quel type, comme int, float64, rune, texte, pointeur, type de référence, type de carte, etc.
Dans ce didacticiel, nous allons récupérer une tranche de clés d’une carte dans Go.
Utilisez range
et append()
pour obtenir une tranche de clés à partir d’une carte en Go
Nous commençons avec une carte de clés de chaîne et de valeurs de chaîne dans cet exemple. Ensuite, nous illustrons comment récupérer uniquement les clés dans une tranche de chaîne distincte.
Nous obtenons les clés de la carte en utilisant range
et en les attachant à une tranche vide en utilisant append()
.
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)
}
Production:
KEYS SLICE - [animal Car Metal]
Utilisez la fonction MapKeys
pour obtenir une tranche de clés à partir d’une carte en Go
Pour acquérir un tableau de clés de type []Value
, nous utilisons la méthode MapKeys
du package reflect.
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)
}
Production:
Keys Slice - [animal Car Metal]