Maison > développement back-end > Golang > Comment démarrer une structure go avec une structure imbriquée dont le nom porte le nom du package

Comment démarrer une structure go avec une structure imbriquée dont le nom porte le nom du package

PHPz
Libérer: 2024-02-06 09:45:16
avant
850 Les gens l'ont consulté

如何使用名称具有包名称的嵌套结构来启动 go 结构

Contenu de la question

J'ai une structure go définie comme suit :

type record struct {
    events.apigatewayproxyrequest          `json:",omitempty"`
    events.apigatewaywebsocketproxyrequest `json:",omitempty"` //nolint:all
    events.sqsevent                        `json:",omitempty"`
}
Copier après la connexion

Je veux savoir comment démarrer cette structure. J'ai essayé :

Record{events.APIGatewayProxyRequest: {}}
Copier après la connexion

Mais cela m'a donné une erreur : nom de champ invalide events.apigatewayproxyrequest dans la structure littérale . Il semble que les noms contenant des noms de packages ne puissent pas être utilisés comme noms de clés dans les structures. Quelle est la bonne façon de le démarrer ?


Bonne réponse


Lors de l'intégration d'un type dans une structure, les noms de champs de la structure englobante sont les mêmes que les noms de type du type intégré (sans le sélecteur de package). Alors :

event:=Record{
  APIGatewayProxyRequest: events.APIGatewayProxyRequest{ ... },
}
Copier après la connexion

Le côté droit de l'initialisation est le littéral du type, vous utilisez donc le nom complet du type (avec le sélecteur).

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!

source:stackoverflow.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal