2 回答

TA貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊
Data是一個匿名結(jié)構(gòu),所以你需要這樣寫:
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,
},
}
}
(游樂場鏈接)
我認(rèn)為創(chuàng)建一個命名Address結(jié)構(gòu)是最干凈的。

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