为了账号安全,请及时绑定邮箱和手机立即绑定

我应该如何重用公共库中的结构,并更改关联的 json 字段

我应该如何重用公共库中的结构,并更改关联的 json 字段

Go
月关宝盒 2023-08-07 10:30:20
我有一个具有以下结构的共享库//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)


查看完整回答
反对 回复 2023-08-07
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信