ホームページ  >  記事  >  バックエンド開発  >  フィールド埋め込みを使用して Go 構造体間で変換するにはどうすればよいですか?

フィールド埋め込みを使用して Go 構造体間で変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-27 01:58:30731ブラウズ

How can I convert between Go structs using field embedding?

Go 構造体間の変換

複数の構造体を操作する場合、多くの場合、ある構造体から別の構造体にデータを変換する必要があります。 Go では、これはフィールド埋め込みと呼ばれる手法によって実現できます。

次のコード スニペットを考えてみましょう:

<code class="go">type A struct {
    a int
    b string
}

type B struct {
    A // field embedding of A
    c string
    // more fields
}</code>

この例では、構造体 B は構造体 A を埋め込みます。これは、構造体 B が構造体 B を埋め込むことを意味します。独自のフィールドに加えて、構造体 A のすべてのフィールドが含まれています。

型 A の値を型 B に変換するには、単に A のフィールドを B のフィールドに代入するだけです。例:

<code class="go">func main() {
    structA := A{a: 42, b: "foo"}

    // assign structA to the embedded A field of structB
    structB := B{A: structA}
}</code>

フィールドの埋め込みにより、構造体間で簡単に変換できるため、手動でフィールドをコピーしたり、変換メソッドを作成したりする必要がなくなります。

以上がフィールド埋め込みを使用して Go 構造体間で変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。