首先看一段代码:
package mainimport ( "encoding/json" "fmt")type Result struct { //status int `json:"status"` //A Status int //B}func main() { var s string = `{ "status":200}` r := &Result{} err := json.Unmarshal([]byte(s), r) if err != nil { fmt.Println(err) } fmt.Println(r) fmt.Println(r.Status)}
请问A跟B哪个是对的,哪个是错的,为什么?
当需要序列化类的时候,字段必须是可导出的,而golang语言规范中,可导出就意味着是首字母大写,所以这里的字段需要大写,即使写了标记的小写还是不能序列化的。