ホームページ > バックエンド開発 > Golang > 異なるタイプの同様の Go 構造体間で値を割り当てるにはどうすればよいですか?

異なるタイプの同様の Go 構造体間で値を割り当てるにはどうすればよいですか?

DDD
リリース: 2024-12-13 20:32:18
オリジナル
696 人が閲覧しました

How to Assign Values Between Similar Go Structs with Different Types?

異なる型を持つ類似した構造体間の値の割り当て

同じメンバーを持つが型が異なる構造体があると、構造体間でデータを転送する必要が生じる可能性があります。このような場合、型変換によって解決策が得られます。

次の構造体定義を検討してください。

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 構造体から Bar 構造体に値を転送するには、型を使用できます。変換:

foo := Foo{Id: "123", Name: "Joe"}
bar := Bar(foo)
ログイン後にコピー

この場合、Foo と Bar の基になる型が構造体タグを除いて同一であるため、変換は機能します。変換により、foo の共通メンバーの値が bar の対応するメンバーに自動的に割り当てられます。

参考のために、プレイグラウンドの例が提供されています: [Playground Example](https://play.golang.org/p) /FmF4FjJ0B4n)

以上が異なるタイプの同様の Go 構造体間で値を割り当てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート