Go 構造体の名前のないフィールドを理解する
Go 構造体の名前のない (または匿名) フィールドには 2 つの目的があります:
1.フィールドのプロモート:
構造体の最初の匿名フィールドが「プロモートされた」フィールドになります。これは、フィールド名を指定せずに、親構造体からそのプロパティに直接アクセスできることを意味します。
2.複合型の埋め込み:
匿名フィールドを使用すると、構造全体を別の構造内に埋め込むことができ、埋め込み型の機能を活用できます。
これらの概念を説明するには、次のことを考慮してください。コードスニペット:
package main import ( "fmt" ) type Base struct { Name string } type Embedded struct { Address string } type Person struct { Base Embedded } func main() { person := Person{ Base: Base{Name: "Alice"}, Embedded: Embedded{Address: "123 Main Street"}, } fmt.Printf("Name: %s, Address: %s\n", person.Name, person.Address) }
この中で例:
person の Name にアクセスする場合、短縮構文を使用して Base のプロモートされたフィールド (Name) にアクセスします。同様に、Address にアクセスするには、person.Address を使用して、埋め込まれた Embedded 構造体にアクセスします。
これにより、Base 構造体と Embedded 構造体の両方からプロパティを継承する新しい型 (person) を効果的に作成できるようになり、便利な複雑なデータ構造を構成するきれいな方法。
以上がGo 構造体の名前のないフィールドはどのようにフィールドをプロモートし、複合型を埋め込むのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。