Question :
Comment puis-je accéder aux valeurs de balise d'un objet spécifique champ struct utilisant la réflexion Go package?
Réponse :
Lors de la réflexion sur une structure, il n'est pas possible de récupérer directement les valeurs de balise d'un champ spécifique en fournissant sa valeur. En effet, le package de réflexion ne peut pas automatiquement associer la valeur à la structure d'origine.
Pour obtenir les valeurs des balises, vous devez obtenir le reflet.StructField associé au champ. Voici comment procéder :
import "reflect" type User struct { name string `json:name-field` age int } func getStructTag(field reflect.StructField) string { return string(field.Tag) } // ... user := &User{"John Doe The Fourth", 20} field, ok := reflect.TypeOf(user).Elem().FieldByName("name") if ok { tag := getStructTag(field) // ... }
Dans cet exemple, nous obtenons le reflet.StructField (champ) pour le champ "name" en utilisant FieldByName. Nous passons ensuite le champ à la fonction getStructTag pour récupérer la valeur de la balise.
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!