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

我有一个具有以下结构的共享库

//Measure struct
type Measure struct {
    Timestamp    time.Time `json:"timestamp"`
    Delta        float64   `json:"delta"`
    Redistribute float64   `json:"redistribute"`
}

现在,在我的项目中,字段可以,但是json信息可能有所不同,我的意思是我可以使用json:"value"而不是json:"delta"来接收json中的信息

我应该如何重载这些值?

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

  

我应该如何重载这些值?

不应该。 Go中没有重载。您有两种选择:

  1. 嵌入类型,并隐藏标签。
type OtherMeasure struct {
    pkg.Measure
    Delta        float64   `json:"value"`
}
  1. 复制结构。
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)
本文链接:https://www.f2er.com/3116101.html

大家都在问