對于如下 json 和 struct, 會將 gender 解析為 false, 而實(shí)際上應(yīng)為 nil, 則需要 將 struct 中的 bool 類型轉(zhuǎn)為 *bool 類型
{
"name": "Jim Green",
"age": 15,
"gender": null
}
type Student struct {
Name string `json:"name"`
Age int `json:"age"`
Name bool `json:"gender"`
}
因?yàn)樵?go 中指針不可以進(jìn)行運(yùn)算, 只能引用
對于 *bool 類型的變量, 不能直接賦值 如
var gender *bool
*gender = true // panic: runtime error: invalid memory address or nil pointer dereference
而應(yīng)該對非指針類型賦值, 再引用指針
var gender *bool
tempGender := true
gender = &tempGender