Maison  >  Article  >  développement back-end  >  carte de conversion de type Golang

carte de conversion de type Golang

王林
王林original
2023-05-10 16:39:071224parcourir

Dans le langage de programmation Golang, la conversion de type est une opération très courante, car lorsque le programme est en cours d'exécution, nous devons souvent convertir un type de données en un autre. Par exemple, nous pouvons avoir besoin de convertir une chaîne en entier, ou une structure au format JSON, etc. Parmi eux, la conversion des types de carte est également une opération fréquemment utilisée. Cet article présentera la méthode de conversion d'un type de carte en un autre type de carte dans Golang.

Le type Map dans Golang est une structure de données très utile. Il est similaire à un dictionnaire en Python et consiste en un ensemble non ordonné de paires clé-valeur. Lors de l'utilisation du type Map, nous pouvons rechercher et modifier la valeur correspondante via la clé. Lorsque vous utilisez le type Map dans Golang, faites attention aux points suivants :

  • Le format de définition du type Map est : map[keyType]valueType, où keyType représente le type de données de la clé et valueType représente le type de données de la clé. valeur.
  • La valeur zéro du type Map est nulle. S'il n'est pas initialisé, il se comporte de la même manière qu'une Map vide.
  • Les clés du type Map doivent être de types comparables, tels que des entiers, des chaînes, des pointeurs, des interfaces, des structures, etc.
  • La valeur dans le type Carte peut être de n’importe quel type.

Dans Golang, la conversion de type Map est implémentée via une conversion de type forcée. Voici l'exemple de code pour l'implémentation :

func main() {

// 要转换的map
oldMap := map[string]string{
    "name": "John",
    "age":  "30",
    "city": "New York",
}

// 将map[string]string转换为map[string]interface{}
newMap := make(map[string]interface{})
for k, v := range oldMap {
    newMap[k] = v
}

// 打印结果
fmt.Println(newMap)

}

Dans l'exemple de code ci-dessus, nous définissons un nom. une variable de type Map de oldMap, composée de trois paires clé-valeur. Nous souhaitons convertir ce type Map en type Map[string]interface{}. Les étapes sont les suivantes :

  • Définissez une nouvelle variable de type Map newMap, dont le type de clé est une chaîne et le type de valeur est le type d'interface.
  • Utilisez une boucle for pour parcourir chaque élément de oldMap et ajoutez-le à la nouvelle variable Map newMap.
  • Enfin, nous avons réussi à convertir le type oldMap en type Map[string]interface{}.

Une autre chose importante est que pendant le processus de conversion, nous devons également faire attention à savoir si les types de valeur du type Map source et du type Map cible sont compatibles. Si le type de valeur dans le type Map source doit être converti en type de valeur dans le type Map cible, la conversion de type est requise, sinon une erreur de compilation se produira.

Voici un autre exemple de code pour convertir un type Map[string]interface{} en type Map[string]string :

func main() {

// 要转换的map
oldMap := map[string]interface{}{
    "name": "John",
    "age":  30,
    "city": "New York",
}

// 将map[string]interface{}转换为map[string]string
newMap := make(map[string]string)
for k, v := range oldMap {
    newMap[k] = fmt.Sprint(v)
}

// 打印结果
fmt.Println(newMap)

}

Dans l'exemple de code ci-dessus, nous définissons un type Map variable nommée oldMap, composée de trois paires clé-valeur. Nous voulons convertir ce type Map[string]interface{} en type Map[string]string. Les étapes sont les suivantes :

  • Définissez une nouvelle variable de type Map newMap, dont le type de clé est une chaîne et le type de valeur est une chaîne.
  • Utilisez une boucle for pour parcourir chaque élément dans oldMap, et après avoir converti la valeur en chaîne à l'aide de fmt.Sprint(v), ajoutez-la à la nouvelle variable Map newMap.
  • Enfin, nous avons réussi à convertir le type oldMap en type Map[string]string.

En bref, la conversion de type Map est une opération très courante dans la programmation Golang. Vérifiez si les types de valeur du type Map source et du type Map cible sont compatibles et effectuez les conversions de type nécessaires pour éviter les erreurs de compilation ou d'autres problèmes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn