構造体を関数に渡すときに「引数が多すぎます」というメッセージが表示されるのはなぜですか?
Oct 31, 2024 pm 11:54 PMコンパイラの問題: 構造体をパラメータとして使用する際の過剰な引数
JSON 関数のパラメータとして構造体を利用しようとすると、必要な入力をすべて提供したにもかかわらず、過剰な引数を示す誤ったメッセージが表示されます。問題の構造体 DataResponse には、Status と Data の 2 つのパラメータが必要です。
コード スニペット:
<code class="go">type DataResponse struct { Status int `json:"status"` Data interface{} `json:"data"` } func GetUser(rw http.ResponseWriter, req *http.Request, ps httprouter.Params) { user := models.User{} // Fetching user from db resp := DataResponse(200, user) // Error: too many arguments JSON(rw, resp) }</code>
エラー メッセージ:
<code class="text">too many arguments to conversion to DataResponse: DataResponse(200, user)</code>
解決策:
DataResponse 構造体の初期化に使用される構文が正しくありません。正しいアプローチは中括弧を利用することです:
<code class="go">resp := DataResponse{200, user} // Correct syntax with curly braces</code>
中括弧を利用すると、構造体が必要な値で適切に初期化され、コンパイラの問題が解決され、構造体をパラメータとしてシームレスに利用できるようになります。
以上が構造体を関数に渡すときに「引数が多すぎます」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

Linterと静的分析ツールを使用して、GOコードの品質と保守性を向上させるにはどうすればよいですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?
