Récupérer les valeurs des balises de champ de structure avec le package Reflect de Go
L'accès aux valeurs de balise d'un champ de structure est une tâche courante lors de la personnalisation de la sérialisation ou du mappage des données entre différentes structures de données. Le package Reflect de Go fournit un mécanisme puissant pour y parvenir.
Pour obtenir la valeur de la balise pour un champ spécifique, suivez les étapes ci-dessous :
Il est important de noter que vous ne pouvez pas transmettre directement la valeur du champ elle-même (par exemple, user.name) au reflet fonctions. Le package Reflect fonctionne sur les informations de type, vous devez donc fournir le réflexion.StructField correspondant.
Par exemple, étant donné une structure utilisateur avec un nom de champ étiqueté avec "json:name-field", vous pouvez récupérer le valeur de balise comme suit :
import "reflect" type User struct { Name string `json:"name-field"` Age int } func main() { user := &User{"John Doe", 20} field, ok := reflect.TypeOf(user).Elem().FieldByName("Name") if ok { tag := string(field.Tag) // tag now contains the value "json:name-field" } }
Grâce à ces connaissances, vous pouvez facilement implémenter des fonctions pour récupérer ou modifier dynamiquement les valeurs de balise pour les champs de structure.
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!