登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-24 19:45:31 414浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《我应该如何重用公共库中的结构,并更改关联的 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 中的信息

我应该如何重载这些值?


解决方案


我应该如何重载这些值?

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

以上就是《我应该如何重用公共库中的结构,并更改关联的 json 字段》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>