本文介绍了如何用“var”声明一个新的结构实例不同于使用“新”在Go?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下代码创建了一个可用的结构实例, Car
。这与使用 new(Car)
?
有什么不同?示例:
type Car struct {
make string
}
func Main(){
var car Car ; //这与car:= new(Car)有什么不同?
car.make =Honda
}
解决方案一个定义了一个Car变量,另一个返回一个Car指针。 Car //定义变量车是Car
car2:= new(Car)//定义变量car2是一个* Car并指定一个Car来支持它
car2:= new(Car)//定义变量car2是一个* Car并指定一个Car来支持它
car:= new(Car)
可以相对于 var car Car
var x Car
car:=& x
The following code creates a usable instance of the struct, Car
. How is this different than using new(Car)
?
Example:
type Car struct {
make string
}
func Main() {
var car Car; // how is this different than "car := new(Car)"?
car.make = "Honda"
}
解决方案
One defines a Car variable, the other returns a pointer to a 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)
can be implemented in relation to var car Car
like this:
var x Car
car := &x
这篇关于如何用“var”声明一个新的结构实例不同于使用“新”在Go?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
08-21 18:47