Go での埋め込み: ポインターと値
埋め込みは、構造体が別の構造体のフィールドとメソッドを継承できるようにする Go の機能です。構造体。これは、ポインタまたは値によって実行できます。
ポインタによる埋め込み
type Bitmap struct { data [4][4]bool } type Renderer struct { *Bitmap // Pointer to Bitmap on uint8 off uint8 }
値とポインタ
ポインタと値の埋め込みのどちらを選択するのが望ましいかは、いくつかの条件に依存します。要素:
特定のケース
提供された例では、
type Bitmap struct { data [4][4]bool } type Renderer struct { Bitmap // Embedded by value on uint8 off uint8 }
値による埋め込みがおそらく推奨されます。オプション、ビットマップのサイズが小さいことを考慮して。このアプローチにより、アクセスの局所性が提供され、メモリ割り当てが削減されます。
以上がGo でポインタと値の埋め込みを使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。