重複したフィールド名を持つ構造体の埋め込み
提供された例のように、同じフィールド名を持つ 2 つの構造体を埋め込む場合、結果は次のようになります。重複したフィールド名を示すコンパイラ エラー。これは、埋め込まれたフィールドが両方の埋め込み構造体で同じ名前を持つために発生します。
型エイリアスを使用した代替アプローチ
重複したフィールド名を持つ構造体を埋め込む代替方法の 1 つは、次のとおりです。型のエイリアスを使用します。型エイリアスは既存の型の代替名を作成し、別の名前を使用して埋め込み構造体を参照できるようにします。
たとえば、次のコードは型エイリアスを使用して重複フィールド名の問題を解決します。
<code class="go">type SqlStore = sql.Store // this is a type alias type datastore struct { *SqlStore *file.Store }</code>
このコードでは、SqlStore は既存の型 sql.Store の型エイリアスです。データストア構造体は、名前が競合することなく *SqlStore と *file.Store の両方を埋め込みます。
型エイリアスを使用する利点
型エイリアスを使用すると、次のような利点があります。
以上が構造体を埋め込むときに重複するフィールド名をどのように解決できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。