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 }
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 }
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 }
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!