首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么没有new关键字可以实例化一个struct?

没有使用 new 关键字实例化一个 struct 的原因是,在 Go 语言中,new 关键字是用于分配内存并返回指向该内存的指针。而在 Go 语言中,使用 new 关键字实例化一个 struct 是不必要的,因为在 Go 语言中,struct 是一种值类型,而不是引用类型。

在 Go 语言中,struct 可以通过以下两种方式实例化:

  1. 使用字面量实例化:
代码语言:go
复制
type Person struct {
    Name string
    Age  int
}

p := Person{Name: "Alice", Age: 30}
  1. 使用 new 关键字实例化:
代码语言:go
复制
type Person struct {
    Name string
    Age  int
}

p := new(Person)
p.Name = "Alice"
p.Age = 30

在上面的例子中,我们使用了 new 关键字来分配内存,并返回了一个指向该内存的指针。然后,我们使用指针来访问 struct 的字段,并为它们赋值。

总之,使用 new 关键字实例化一个 struct 是可选的,因为在 Go 语言中,struct 是一种值类型,可以直接使用字面量进行实例化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券