php エディター Youzi が、インターフェイス型配列の入れ子構造のフィールドにアクセスする方法を説明します。インターフェイスから返されたデータを処理するときに、入れ子構造、つまり配列にさらに深いフィールドが含まれる構造が発生することがあります。これらのネストされたフィールドにアクセスするには、ドット演算子または配列添字を使用して、レイヤーごとにフィールドを取得します。配列の階層構造と対応するキー名を理解することで、必要なフィールド値に簡単にアクセスし、インターフェイスから返されるデータの柔軟な処理を実現できます。次に、さまざまなデータ処理シナリオに簡単に対処できるようにする、インターフェイス型配列の入れ子構造フィールドの操作方法を詳しく紹介します。
これらの入れ子構造の FieldBase フィールドにアクセスしたいと考えています。
これは私のコード例です:
リーリー配列 x 内の各入れ子構造の FieldBase フィールド値にアクセスする方法を知りたいです。x はインターフェイスの型です。アクセスに型アサーションを使用しようとしましたが、単一の要素でしか試すことができません。
type InterfaceA interface { FunA() } type BaseStruct struct { FieldBase string } type SubStruct struct { BaseStruct } func (c SubStruct) FunA() { } type SubStruct2 struct { BaseStruct } func (c SubStruct2) FunA() { } func main() { var x = [2]InterfaceA{ SubStruct{BaseStruct: BaseStruct{FieldBase: "aaa"}}, SubStruct2{BaseStruct: BaseStruct{FieldBase: "bbb"}}, } // TODO: Access fields of nested classes in the array }
配列はインターフェイスに属しているため、各型の型アサーションとハンドル、またはインターフェイス メソッドが必要です。ただし、必要であり、必要なのは、次のように、 FieldBase を公開する各構造体型のインターフェイス メソッドを持つことだと思います。 リーリー
以上がインターフェイス型の配列内の入れ子構造のフィールドにアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。