区别:
使用new
创建对象返回对象指针,而直接使用字面量创建对象返回对象本身。
测试:
func main() {
//
s1 := stu{
name: "xm",
age: 11,
}
//
s2 := new(stu)
s2.name = "xh"
s2.age = 12
//
fmt.Printf("%T\n", s1)
fmt.Printf("%T\n", s2)
}
结果:
main.stu
*main.stu
区别:
使用new
创建对象返回对象指针,而直接使用字面量创建对象返回对象本身。
测试:
func main() {
//
s1 := stu{
name: "xm",
age: 11,
}
//
s2 := new(stu)
s2.name = "xh"
s2.age = 12
//
fmt.Printf("%T\n", s1)
fmt.Printf("%T\n", s2)
}
结果:
main.stu
*main.stu