欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在go中使用omitempty的代码实例

程序员文章站 2024-02-07 10:00:34
omitempty在go中的使用 直接上代码: package main import ( "encoding/json" "fmt" ) t...

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, 再试试。

不多说。

总结

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