ホームページ  >  記事  >  バックエンド開発  >  必要なパラメータをすべて指定しているにもかかわらず、DataResponse で「引数が多すぎます」というコンパイラ エラーが発生するのはなぜですか?

必要なパラメータをすべて指定しているにもかかわらず、DataResponse で「引数が多すぎます」というコンパイラ エラーが発生するのはなぜですか?

DDD
DDDオリジナル
2024-11-01 02:16:28768ブラウズ

Why Am I Getting a

コンパイラ エラー: 必須パラメータをすべて指定しているにもかかわらず、DataResponse の引数が多すぎます

提供されたコードでは、DataResponse 構造体のインスタンスを作成しようとするとエラーが発生し、それをパラメータとして JSON 関数に渡します。コンパイラは、必要な引数が指定されているにもかかわらず、指定された引数が多すぎると報告します。

DataResponse 構造体は次のように定義されています。

<code class="go">type DataResponse struct {
    Status int         `json:"status"`
    Data   interface{} `json:"data"`
}</code>

これは 2 つのパラメータを取ります: int 型のステータス

GetUser 関数では、DataResponse のインスタンスが次のように作成されます。

<code class="go">resp := DataResponse(200, user)</code>

ただし、この構文は正しくありません。中括弧構文を使用して構造体を初期化する正しい方法は次のとおりです。

<code class="go">resp := DataResponse{200, user}</code>

中括弧は、新しい構造体を構築していることを示し、各フィールド名の後に指定された値が対応するフィールドに割り当てられます。

resp 変数が正しく初期化されると、パラメータとして JSON に渡すことができます。 function:

<code class="go">JSON(rw, resp)</code>

これにより、DataResponse 構造体に提供される引数が多すぎる問題が解決され、プログラムが JSON シリアル化用の構造体を適切に構築して使用できるようになりました。

以上が必要なパラメータをすべて指定しているにもかかわらず、DataResponse で「引数が多すぎます」というコンパイラ エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。