Maison > développement back-end > Golang > Comment initialiser une structure intégrée dans Go : un guide à deux approches

Comment initialiser une structure intégrée dans Go : un guide à deux approches

Susan Sarandon
Libérer: 2024-11-17 15:44:02
original
407 Les gens l'ont consulté

How to Initialize an Embedded Struct in Go: A Two-Approach Guide

Initialisation d'une structure intégrée dans Go

Lorsque vous travaillez avec des structures intégrées dans Go, un scénario courant implique l'initialisation de la structure anonyme interne. Cet article aborde un tel scénario, fournissant une compréhension claire de la façon de réaliser l'initialisation en utilisant deux approches.

Considérez la structure intégrée suivante MyRequest :

type MyRequest struct {
    http.Request
    PathParams map[string]string
}
Copier après la connexion

Pour initialiser MyRequest, nous devons définir les valeurs de sa structure http.Request intégrée. Voici comment procéder :

func New(origRequest *http.Request, pathParams map[string]string) *MyRequest {
    req := new(MyRequest)
    req.PathParams = pathParams
    req.Request = origRequest
    return req
}
Copier après la connexion

Dans cette approche, nous créons d'abord un nouvel objet MyRequest et l'attribuons à req. Nous définissons ensuite le champ PathParams en conséquence. Par la suite, nous accédons et définissons la structure http.Request intégrée en référençant req.Request.

Alternativement, nous pouvons également initialiser la structure intégrée en utilisant la syntaxe suivante :

req := &MyRequest{
  PathParams: pathParams
  Request: origRequest
}
Copier après la connexion

Ici, nous créez une structure anonyme avec les champs obligatoires. Il est important de préfixer le nom de la structure intégrée avec « & » pour une initialisation correcte. Cela aboutit à un objet MyRequest avec les valeurs souhaitées.

Les deux approches initialisent efficacement la structure http.Request intégrée dans MyRequest, vous permettant de la personnaliser et de l'utiliser selon vos besoins. Pour plus d'informations, consultez la spécification Go sur les champs nommés pour les structures intégrées.

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:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal