php エディタ Baicao Go プログラミング言語では、構造体スライスへのポインタをインターフェイス スライスに変換する必要がある場合があります。この変換は、スライス内の要素を変更する必要がある場合など、特定の状況で非常に役立ちます。ポインタをインターフェイス スライスに変換することにより、データの一貫性や同期の問題を心配することなく、スライス内の要素に簡単にアクセスして変更することができます。この記事では、この変換の方法を説明し、実際の応用例をいくつか示します。
本番環境の GoLang コードを一部切り取って、次の例を作成しました。 リーリー
多くの構造体があり、それらはすべて同じインターフェイスを実装しています。アイデアは、(JSON から) それらを逆シリアル化した後、読み込まれた各オブジェクトでメソッドを呼び出してオブジェクトの初期化を完了したいということです。一部の JSON ファイルにはトップレベルの配列があります。つまり、逆シリアル化されると、構造のリスト/スライスになります。
ただし、次のことを同時に実行できる宣言の組み合わせが見つかりません。
これを単一のメソッドとして機能するように再構築する方法はありますか? 回避策メソッドを、
Initializer インターフェイスを実装するメンバー構造体のスライスを受け入れるジェネリック メソッドとして宣言できます。
リーリー
これには、構造体のポインタ レシーバ メソッドで使用するポインタとしてスライス値を宣言する必要があることに注意してください (例:[]*AlphaStruct と
[]AlphaStruct ) :
リーリー
リーリー
以上がGo - 構造体スライスへのポインタをインターフェイススライスに変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。