Go では、構造体内に int32 のようなプリミティブ型を埋め込むことができます。しかし、このテクニックは実用的な用途を提供するのでしょうか?詳細を詳しく見てみましょう。
int32 のようなプリミティブ型には、定義されたメソッドがありません。これは、埋め込みタイプ User のインスタンスに対して呼び出すことができる追加の機能や操作を提供しないことを意味します。
User 内の埋め込み int32 値にアクセスするには、修飾されていない型名をフィールド名として使用します。この場合、それは int32 になります。次の例はこれを示しています:
u := User{3, "Bob"} fmt.Printf("%#v\n", u) // Output: main.User{int32:3, Name:"Bob"} u.int32 = 4 fmt.Println(u.int32) // Output: 4
User 内に int32 を埋め込むことは追加のメソッドを提供しませんが、次のような利点があります:
ただし、int32 のような事前宣言された型の埋め込みには潜在的な欠点もあります。
以上がGo 構造体に「int32」のようなプリミティブ型を埋め込むことには実用的な利点がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。