我是靠谱客的博主 负责电源,最近开发中收集的这篇文章主要介绍在go中使用omitempty的代码实例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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("%sn", 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("%sn", 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的代码实例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(116)

评论列表共有 0 条评论

立即
投稿
返回
顶部