2 つの同じ名前の構造体を埋め込む際の重複フィールドの問題を解決する
単一の構造体内に同じ名前の複数の型を埋め込むと、重複フィールドの問題。これは、SQL ストアとファイル ストアの両方をデータストア構造体内に埋め込もうとすると明らかであり、冗長な "Store" フィールドが生じます。
代替アプローチ: エイリアスと入力してください
この競合を解決するには、型エイリアスの使用を検討してください。これには、埋め込み型の新しい名前を作成し、元の型の代替スペルを効果的に作成することが含まれます。
たとえば、提供された例では、SQL ストアを表す「SqlStore」という型エイリアスを定義できます。 :
<code class="go">type SqlStore = sql.Store</code>
エイリアスが確立されると、データストア構造体は fileStore とともに「SqlStore」を埋め込むことができます:
<code class="go">type datastore struct { *SqlStore *file.Store }</code>
型エイリアスを利用することで、競合するフィールド名が回避されます、エイリアスによって埋め込み SQL ストア タイプに個別のスペルが作成され、重複フィールドの問題が解決されるためです。
以上が同じ名前の構造体を埋め込むときに重複フィールドの問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。