有一个结构体User
, GoLang中的user := User{}
、var user User
和user := new(User)
有什么区别?
user := User{}
创建一个具有默认值的新用户结构体,与var user User
相同。如果没有设置值,var user User
更常用。
user := new(User)
创建了一个指向User
的变量(类型为*User
)。与user := &User{}
相同。您更经常看到user := &User{}
符号。new
关键字在初始化*int
或*string
等类型为非nil时很方便。