我有一個具有以下結構的共享庫//Measure structtype Measure struct { Timestamp time.Time `json:"timestamp"` Delta float64 `json:"delta"` Redistribute float64 `json:"redistribute"`}現在,在我的項目中,字段沒問題,但 json 信息可能會有所不同,我的意思是我可以在 json 中接收信息,而json:"value"不是json:"delta"我應該如何超載這些值?
1 回答

www說
TA貢獻1775條經驗 獲得超8個贊
我應該如何超載這些值?
你不應該。Go 中不存在重載。您有兩個選擇:
嵌入類型并隱藏標簽。
type OtherMeasure struct {
pkg.Measure
Delta float64 `json:"value"`
}
復制結構。
type OtherMeasure struct {
Timestamp time.Time `json:"timestamp"`
Delta float64 `json:"value"`
Redistribute float64 `json:"redistribute"`
}
對于像這樣的小結構來說,復制可能是首選,因為這樣就可以進行簡單的類型轉換:
var om OtherMeasure = /* set the specific value */
var m Measure = Measure(om)
- 1 回答
- 0 關注
- 107 瀏覽
添加回答
舉報
0/150
提交
取消