omitempty在go中的使用

直接上代码:

package main
import (
  "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, 再试试。

不多说。

总结

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

标签:
go使用omitempty,在go中使用omitempty的代码实例

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“在go中使用omitempty的代码实例”

暂无“在go中使用omitempty的代码实例”评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。