同等のメンバーと異なる型を持つ構造体の複製
次のシナリオを考えてみましょう: Foo と Bar という 2 つの異なる構造体があり、それぞれが同一の構造体を持っています。メンバーですが、基礎となるタイプが異なります。目的は、ある構造体の内容を別の構造体に転送することです。
この例では、次の構造体の定義を考慮します。
type Common struct { Gender int From string To string } type Foo struct { Id string Name string Extra Common } type Bar struct { Id string Name string Extra Common }
与えられたインスタンス foo of Foo と bar of Bar、どのようにbar は foo から複製できますか?
解決策: 次のように入力します。変換
Foo と Bar の基本型は構造的に同等であるため、型変換を使用してオブジェクトの型を変更できます。次のコードは、変換を使用して Foo 値を Bar 値にコピーする方法を示しています。
foo := Foo{Id: "123", Name: "Joe"} bar := Bar(foo)
型の互換性に関する注意
この型変換手法は次のことを覚えておくことが重要です。構造体の基礎となる型が、構造体タグを除いて本質的に同一である場合にのみ有効です。
以上がGo で同等のメンバーを含むが型が異なる構造体を複製するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。