在go中使用omitempty的代码实例

时间:2021-05-23

omitempty在go中的使用

直接上代码:

package mainimport ( "encoding/json" "fmt")type Person struct { Name string `json:"name"` Age int `json:"age"` Addr string `json:"addr,omitempty"`}func main() { p1 := Person{ Name: "taoge", Age: 30, } data, err := json.Marshal(p1) if err != nil { panic(err) } fmt.Printf("%s\n", data) fmt.Println(p1.Name, p1.Age, p1.Addr) p2 := Person{ Name: "Cang Laoshi", Age: 18, Addr: "Japan", } data2, err := json.Marshal(p2) if err != nil { panic(err) } fmt.Printf("%s\n", data2) fmt.Println(p2.Name, p2.Age, p2.Addr)}

结果:

{"name":"taoge","age":30}
taoge 30
{"name":"Cang Laoshi","age":18,"addr":"Japan"}
Cang Laoshi 18 Japan

可以看到,有了omitempty后,如果addr为空, 则生成的json中没有addr字段。

可以去掉omitempty, 再试试。

不多说。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章