欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

golang json default

錢諍諍2年前8瀏覽0評論

在使用 Golang 編寫程序時,Json 是一個不可避免的數據格式。在處理 Json 數據時,默認值(default)是一個經常用到的功能。下面將介紹 Golang 中 Json 的默認值問題。

//示例1
type Person struct{
Name string `json:"name"`
Age int `json:"age"`
}
func main(){
jsonStr := `{"name":"Lucy"}`
var p Person
err := json.Unmarshal([]byte(jsonStr),&p)
if err != nil{
fmt.Println(err)
}
fmt.Println(p.Name,p.Age)
}
輸出:
Lucy 0

示例一中,我們將 Json 數據 {"name":"Lucy"} 解析到 Person 結構體中。由于 Person 結構體中沒有設置 Age 字段的屬性,因此默認值為 0。

//示例2
type Person struct{
Name string `json:"name"`
Age int `json:"age"`
Score float64 `json:"score,omitempty"`
}
func main(){
jsonStr := `{"name":"Lucy","age":18}`
var p Person
err := json.Unmarshal([]byte(jsonStr),&p)
if err != nil{
fmt.Println(err)
}
fmt.Println(p.Score)
}
輸出:
0

示例二中,我們將 Json 數據 {"name":"Lucy","age":18} 解析到 Person 結構體中。由于 Person 結構體中設置了 Score 字段的omitempty屬性為true,因此在 Json 數據中沒有 score 字段時其值為空,即默認值為 0。

以上就是 Golang 中 Json 的默認值問題的介紹,希望對您有所幫助。