Maison >développement back-end >Golang >Comment convertir une structure en carte dans Golang

Comment convertir une structure en carte dans Golang

PHPz
PHPzoriginal
2023-04-23 10:22:252981parcourir

Dans Golang, convertir une structure en carte est une opération courante. La carte est une structure de données correspondant à des valeurs clés, qui nous permet d'interroger, de supprimer, de mettre à jour et de parcourir des données.

Dans cet article, nous verrons comment convertir une structure en carte dans Golang. Voici les étapes détaillées :

Étape 1 : Définir une structure
Tout d'abord, nous devons définir une structure pour stocker les données. Dans cet article, nous définirons une structure appelée Personne pour représenter les informations pertinentes sur une personne, notamment son nom, son âge et son sexe.

type Person struct {

Name  string
Age   int
Gender string

}

Étape 2 : Créer une instance
Ensuite, nous devons créer une instance de Person. Ici, nous supposons que nous disposons déjà d'informations sur une personne nommée Tom.

tom := Personne{Nom : "Tom", Âge : 18, Sexe : "Homme"}

Étape 3 : Créer une carte
Nous devons maintenant créer une carte pour stocker toutes les informations sur Tom. Nous pouvons utiliser la fonction make() pour créer une Map et spécifier les types de clés et de valeurs.

personMap := make(map[string]interface{})

Étape 4 : Convertir en Map
Nous devons convertir les informations de Tom en Map pour une requête et une opération ultérieures. Nous pouvons utiliser le package Reflect, dont les méthodes TypeOf() et ValueOf() peuvent renvoyer le type et la valeur d'une instance.

import "reflect"

func StructToMap(obj interface{}) map[string]interface{} {

t := reflect.TypeOf(obj)
v := reflect.ValueOf(obj)
var data = make(map[string]interface{})
for i := 0; i < t.NumField(); i++ {
    data[t.Field(i).Name] = v.Field(i).Interface()
}
return data

}

Dans le code ci-dessus, nous définissons une fonction StructToMap et utilisons le package Reflect pour parcourir la structure Person champ et insérez-le dans la carte.

Étape 5 : Afficher les résultats
Maintenant, nous pouvons utiliser le package fmt pour afficher les résultats convertis.

personMap = StructToMap(tom)
fmt.Println(personMap)

Le résultat de sortie est :

map[Name:Tom Age:18 Gender:Male]

Summary
Convertir une structure dans Golang en Map Oui Un facile processus, il nous suffit de suivre les étapes ci-dessus pour terminer l’opération. Dans ce processus, nous avons utilisé le package Reflect pour obtenir le type et la valeur de la structure, et utilisé la fonction make() pour créer une carte. Ensuite, on utilise une boucle for pour insérer un à un les champs de la structure dans la Map. Ce processus peut être utilisé pour la conversion et le traitement des données dans Golang.

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