2 回答

TA貢獻1898條經驗 獲得超8個贊
Data是一個匿名結構,所以你需要這樣寫:
type New struct {
UserID int `json:"userId"`
Data struct {
Address string `json:"address"`
} `json:"new_data"`
}
func (old Old) ToNew() New {
return New{
UserID: old.UserID,
Data: struct {
Address string `json:"address"`
}{
Address: old.Data.Address,
},
}
}
(游樂場鏈接)
我認為創建一個命名Address結構是最干凈的。

TA貢獻1906條經驗 獲得超3個贊
您定義Data為內聯結構。給它賦值時,必須先放入內聯聲明:
func (old Old) ToNew() New {
return New{
UserID: old.UserID,
Data: struct {
Address string `json:"address"`
}{
Address: old.Data.Address,
},
}
}
因此,通常最好為 定義一個單獨的類型Data,就像User.
- 2 回答
- 0 關注
- 316 瀏覽
添加回答
舉報