在Go中声明带有“ var”的新结构实例与使用“ new”有何不同?

以下代码创建struct的可用实例Car。这与使用new(Car)有何不同?

例:

type Car struct {

make string

}

func Main() {

var car Car; // how is this different than "car := new(Car)"?

car.make = "Honda"

}

回答:

一个定义了Car变量,另一个定义了指向Car的指针。

var car Car      // defines variable car is a Car

car2 := new(Car) // defines variable car2 is a *Car and assigns a Car to back it

car := new(Car)可以这样实现var car Car

var x Car

car := &x

以上是 在Go中声明带有“ var”的新结构实例与使用“ new”有何不同? 的全部内容, 来源链接: utcz.com/qa/420958.html

回到顶部