gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:39:42 26 4
gpt4 key购买 nike

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

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

现在,在我的项目中,字段没问题,但 json 信息可能会有所不同,我的意思是我可以使用 json:"value" 在我的 json 中接收信息而不是 json:"delta"
我应该如何重载这些值?

最佳答案

How should I overload those values?



你不应该。 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)

    关于json - 我应该如何在公共(public)库中重用结构,并更改关联的 json 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58822119/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com