Golang 中有一些变量:
全局变量:var a int
局部变量:func hello() { var a int }
返回变量:func hello() (a int) {}
Golang 有时会自动初始化一些变量,
但我不知道何时以及为什么?这让我很困惑。
例子:
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
func foo(bts []byte) {
var a User
err := json.Unmarshal(bts, &a) // It's ok
}
func bar(bts []byte) (a *User) {
err := json.Unmarshal(bts, a) // It will crash
}
使用前我应该初始化哪一个?
慕村9548890
翻翻过去那场雪
相关分类