omitempty在go中的使用
直接上代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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, 再试试。
不多说。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/stpeace/article/details/82744364