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 ?

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 ?

DDD
DDDoriginal
2024-11-01 02:16:28768parcourir

Why Am I Getting a

Erreur du compilateur : trop d'arguments pour DataResponse malgré la fourniture de tous les paramètres requis

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!

Déclaration:
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