1. ホーム
  2. struct

Golang : 異種構造体間の変換は可能か?

2023-09-22 03:15:19

質問

このように設定された2つの似たようなタイプがあるとします。

type type1 []struct {
    Field1 string
    Field2 int
}
type type2 []struct {
    Field1 string
    Field2 int
}

type1 と type2 が同じフィールドを持つことを知っていて、type1 から type2 に値を書き込む直接的な方法はありますか? (ソースからターゲットにすべてのフィールドをコピーするループを書くこと以外に)

ありがとうございます。

どのように解決するのですか?

あなたの具体的な例では、簡単に変換することができます。 プレイグラウンド :

t1 := type1{{"A", 1}, {"B", 2}}
t2 := type2(t1)
fmt.Println(t2)