Gestion des majuscules dans les champs de structure pour les interactions avec les bases de données
Lorsque vous travaillez avec des champs de structure dans Go, il est important de comprendre comment la majuscule affecte la visibilité des champs et sérialisation des données.
Base de données Insertion
Lors de l'insertion d'une structure dans une base de données de documents à l'aide de la bibliothèque go-couchdb, seuls les champs commençant par une lettre majuscule sont ajoutés à la base de données. En effet, les champs exportés (ceux avec des lettres majuscules) sont visibles en dehors du package dans lequel ils sont définis. Dans l'exemple fourni, seul le champ Age est exporté et donc ajouté à la base de données.
Sérialisation JSON
De même, lors de la sérialisation d'une structure en JSON à l'aide de json.Marshal (), seuls les champs exportés sont inclus. Dans le cas où un champ commence par une lettre minuscule, il n'est pas exporté et ne sera pas sérialisé.
Surmonter les restrictions de majuscules
Pour inclure des champs avec des noms minuscules dans à la fois les insertions de base de données et la sérialisation JSON, vous pouvez utiliser des balises JSON. Les balises JSON vous permettent de spécifier le nom et d'autres métadonnées d'un champ pour la sérialisation et la désérialisation.
Par exemple, pour inclure le champ age dans l'insertion de la base de données et la sérialisation JSON, vous pouvez utiliser la définition de structure suivante :
type Sample struct { Name string `json:"name"` Age int `json:"age"` }
En ajoutant la balise json:"age" au champ age, vous précisez que ce champ doit être sérialisé et désérialisé en utilisant le nom "age". Cela remplace le comportement par défaut consistant à exclure les champs nommés en minuscules.
Conclusion
Comprendre les règles de capitalisation pour les champs de structure dans Go garantit que vous pouvez interagir efficacement avec les bases de données et sérialiser données. En utilisant les balises JSON, vous pouvez personnaliser le comportement de sérialisation et de désérialisation pour inclure des champs qui ne sont pas conformes à la convention de majuscule par défaut.
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!