Go 構造体間の変換
Go では、構造体はデータを整理して表現するための便利な方法を提供します。ただし、異なる型の構造体間の変換が必要になる場合があります。次のシナリオを考えてみましょう。
2 つの構造体 A と B があります。A にはいくつかの必須フィールドのみが含まれますが、B には追加のフィールドが保持され、A からすべてのフィールドが継承されます。タイプ A の変数を変換したいと考えています。
ソリューション
Go は、このタイプの変換を実現する簡単な方法を提供します。
<code class="go">package main type A struct { a int b string } type B struct { A c string // Additional fields } func main() { // Create a variable of type A structA := A{a: 42, b: "foo"} // Convert structA to type B using embedded struct structB := B{A: structA} }</code>
Inこの例では、B 構造体はその匿名フィールドを使用して A のインスタンスを埋め込みます。 structA を structB に変換すると、structA のフィールドは、A に存在しなかった c フィールドを含む、structB の対応するフィールドに自動的に割り当てられます。これにより、既存の A 変数から完全な B 構造体を簡単に構築できます。
以上がGo 構造体と埋め込み構造体の間で変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。