我有一个具有以下结构的共享库//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 关注
- 82 浏览
添加回答
举报
0/150
提交
取消