没有使用 new
关键字实例化一个 struct
的原因是,在 Go 语言中,new
关键字是用于分配内存并返回指向该内存的指针。而在 Go 语言中,使用 new
关键字实例化一个 struct
是不必要的,因为在 Go 语言中,struct
是一种值类型,而不是引用类型。
在 Go 语言中,struct
可以通过以下两种方式实例化:
type Person struct {
Name string
Age int
}
p := Person{Name: "Alice", Age: 30}
new
关键字实例化:type Person struct {
Name string
Age int
}
p := new(Person)
p.Name = "Alice"
p.Age = 30
在上面的例子中,我们使用了 new
关键字来分配内存,并返回了一个指向该内存的指针。然后,我们使用指针来访问 struct
的字段,并为它们赋值。
总之,使用 new
关键字实例化一个 struct
是可选的,因为在 Go 语言中,struct
是一种值类型,可以直接使用字面量进行实例化。
领取专属 10元无门槛券
手把手带您无忧上云