Go は、よりシームレスな型の コンポジション (composition)
を表現できるよう、構造体やインターフェースの 埋め込み (embedding)
をサポートしています。
なお、 Go 1.16 以降で導入された go ディレクティブの
|
|
|
|
|
|
|
|
|
|
|
|
|
|
リテラルを使って構造体を作成する場合には、 埋め込まれた型を明示的に初期化する必要があります。 このとき、埋め込まれた型がフィールド名として機能します。 |
|
|
|
代わりに、埋め込まれた型の名前を使って、 フルパスでも指定できます。 |
|
|
|
|
|
メソッドをもつ構造体の埋め込みは、ほかの構造体にインターフェース
実装を与えるために利用されることがあります。
この例では、 |
|
|
Next example: Generics.