Maison > Article > développement back-end > Pourquoi est-ce que j'obtiens une erreur de compilation « Trop d'arguments » pour DataResponse malgré la fourniture de tous les paramètres nécessaires ?
Dans le code fourni, une erreur se produit lors de la tentative de création d'une instance de la structure DataResponse et transmettez-le en paramètre à la fonction JSON. Le compilateur signale que trop d'arguments ont été donnés, même si les arguments nécessaires ont été fournis.
La structure DataResponse est définie comme :
<code class="go">type DataResponse struct { Status int `json:"status"` Data interface{} `json:"data"` }</code>
Elle prend deux paramètres : Statut de type int et Data de type interface{}.
Dans la fonction GetUser, une instance de DataResponse est créée comme suit :
<code class="go">resp := DataResponse(200, user)</code>
Cependant, cette syntaxe est incorrecte. La façon correcte d'initialiser une structure à l'aide de la syntaxe des accolades est :
<code class="go">resp := DataResponse{200, user}</code>
Les accolades indiquent que nous construisons une nouvelle structure et les valeurs fournies après chaque nom de champ sont attribuées aux champs correspondants.
Une fois la variable resp correctement initialisée, elle peut être passée en paramètre à la fonction JSON :
<code class="go">JSON(rw, resp)</code>
Cela a résolu le problème du trop grand nombre d'arguments fournis à la structure DataResponse, permettant au programme de construire et d'utiliser correctement la structure pour la sérialisation JSON.
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!