Maison >développement back-end >Golang >Comment puis-je définir plusieurs balises de nom pour un champ Struct dans Go ?

Comment puis-je définir plusieurs balises de nom pour un champ Struct dans Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-08 00:29:19901parcourir

How Can I Define Multiple Name Tags for a Struct Field in Go?

Définition de plusieurs balises de nom dans une structure

Comme vous l'avez rencontré, vous devrez peut-être définir plusieurs balises de nom pour un champ de structure afin s'adapter à différents formats de sérialisation, tels que BSON et JSON. L'exemple fourni démontre la nécessité d'encoder une structure en JSON tout en conservant les noms de champs en minuscules, même si les noms de champs BSON sont en majuscules.

La solution à ce problème consiste à séparer les séparateurs de chaînes de balises par des espaces au lieu de virgules. La modification suivante de votre code résoudra le problème :

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"meta"`
}

Conformément à la documentation du package Reflect, les chaînes de balises sont une concaténation de paires "clé : valeur" séparées par des espaces. Chaque clé est une chaîne non vide qui ne doit pas contenir de caractères de contrôle, d'espaces, de guillemets ou de deux-points. Chaque valeur est placée entre guillemets doubles et suit la syntaxe littérale de la chaîne Go.

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