Maison >développement back-end >Golang >Comment intégrer un « net/http.Request » dans une structure Go ?
Dans Go, vous pouvez intégrer un type de structure dans un autre. Cela vous permet de réutiliser les champs de la structure intégrée sans avoir à les définir à nouveau dans la structure externe.
Considérez l'exemple suivant :
type MyRequest struct { http.Request PathParams map[string]string }
Ici, la structure MyRequest intègre le http. Structure de requête. Cela signifie que n'importe quel champ de http.Request est accessible en tant que champ de MyRequest. De plus, MyRequest possède son propre champ PathParams.
Pour initialiser la structure interne anonyme http.Request dans la fonction New, vous devez définir les champs appropriés. Vous pouvez le faire de deux manières :
req := new(MyRequest) req.PathParams = pathParams req.Request = origRequest
La syntaxe du littéral composite vous permet de créer une nouvelle instance d'une structure et d'initialiser ses champs sur une seule ligne. Dans ce cas, nous créons une nouvelle instance MyRequest et définissons son champ PathParams sur la valeur de l'argument pathParams. Nous définissons également le champ Request sur la valeur de l'argument origRequest.
req := &MyRequest{ PathParams: pathParams Request: origRequest }
La syntaxe du récepteur de pointeur vous permet d'accéder directement aux champs d'un pointeur de structure. Dans ce cas, nous créons un nouveau pointeur vers une instance MyRequest et définissons directement ses champs PathParams et Request.
Ces deux approches initialiseront la structure interne http.Request dans la structure MyRequest avec la valeur du argument origRequest.
Pour plus d'informations sur l'intégration et la manière dont les champs sont nommés, veuillez vous référer à la spécification Go sur http://golang.org/ref/spec#Struct_types.
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!