内置函数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) // 打印出{}
}
浙公网安备 33010602011771号