一级nil指针
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
js:="{\"name\":\"jax\",\"age\":30}"
var pptr *Person
err := json.Unmarshal([]byte(js), pptr)
if err != nil {
fmt.Println(err)
}
fmt.Println(pptr)
}
会打印出
json: Unmarshal(nil *main.Person)
<nil>
当把err := json.Unmarshal([]byte(js), pptr)
改成err := json.Unmarshal([]byte(js), &pptr)
却可以解出数据,打印:
&{jax 30}
``