美文网首页
embedded struct field override

embedded struct field override

作者: 听海吹牛逼的声音 | 来源:发表于2019-05-30 11:16 被阅读0次

新struct内的在marshal时可以覆盖掉base里面的值,同时还能访问到base的。

type Base struct{
    Env string `json:"env"`
}

type Derived struct {
    Base
    Env int `json:"env"`
    Age int `json:"age"`
}

func main() {
    //b := Base(env:)
    d := Derived{Base:Base{Env: "hehe"}, Env: 1, Age: 2}
    str, err := json.Marshal(&d)
    fmt.Println(err)
    fmt.Println(string(str))
    fmt.Println(d.Base.Env, d.Env)
}

output:
<nil>
{"env":1,"age":2}
hehe 1

相关文章

网友评论

      本文标题:embedded struct field override

      本文链接:https://www.haomeiwen.com/subject/dremtctx.html