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

Go 構造体と埋め込み構造体の間で変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-27 08:36:02371ブラウズ

How to Convert Between Go Structs with Embedded Structures?

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 サイトの他の関連記事を参照してください。

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