结构体中的nil和0与空判断
2022-04-24 本文已影响0人
顶尖少爷
简单的结构题
type condition struct{
Min int `json:min`
Max int `json:max`
}
str:=`{"min":0,"max":0}`
var value condition
err:=json.Unmarshal([]byte(str),&value)
if err!=nil{
fmt.Println(err.Error())
}
fmt.Println(value.Min)
str1:=`{}`
err2:=json.Unmarshal([]byte(str1),&value)
if err2!=nil{
fmt.Println(err2.Error())
}
fmt.Println(value.Min)
输出结构
0
0
结构体2
type condition struct{
Min *int `json:min`
Max *int `json:max`
}
str:=`{"min":0,"max":0}`
var value condition
err:=json.Unmarshal([]byte(str),&value)
if err!=nil{
fmt.Println(err.Error())
}
fmt.Println(*value.Min)
str1:=`{}`
var value2 condition
err2:=json.Unmarshal([]byte(str1),&value2)
if err2!=nil{
fmt.Println(err2.Error())
}
fmt.Println(value2.Min)
输出结构
0
<nil>