在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("%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) }
結(jié)果:
{"name":"taoge","age":30}
taoge 30
{"name":"Cang Laoshi","age":18,"addr":"Japan"}
Cang Laoshi 18 Japan
可以看到,有了omitempty后,如果addr為空, 則生成的json中沒有addr字段。
可以去掉omitempty, 再試試。
不多說。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
golang實現(xiàn)webgis后端開發(fā)的步驟詳解
這篇文章主要介紹如何用golang結(jié)合postgis數(shù)據(jù)庫,使用gin、grom框架實現(xiàn)后端的MVC的接口搭建,文中有詳細的流程步驟及代碼示例,需要的朋友可以參考下2023-06-06golang常用加密解密算法總結(jié)(AES、DES、RSA、Sha1、MD5)
在項目開發(fā)過程中,當操作一些用戶的隱私信息,本文主要主要介紹了golang常用加密解密算法總結(jié)(AES、DES、RSA、Sha1MD5),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04