内置函数new() 和struct{} 初始化的区别
一.new()
这是一个用来分配内存的内置函数,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配的 t 类型的零值的指针。
在golang的代码定义如下:
func new(t Type) *Type
二.struct{}
用struct{} 来初始化strut时,返回的是一个struct类型的值
三.示例
type Son struct { } func main() { son := new(Son) son2 := Son{} fmt.Println(son) // 打印出&{} fmt.Println(son2) // 打印出{} }