在Go语言中,new
和make
都是用来分配内存的关键字,但它们的用法和作用对象不同。
new
关键字用来分配内存,并返回内存地址,主要用来分配值类型(如int、string、struct等)的内存。使用new
分配的内存会被初始化为零值。// 使用new分配整型变量的内存
var i *int
i = new(int)
make
关键字用来分配并初始化引用类型(如slice、map、chan等)的内存,返回的是该类型的引用。使用make
分配的内存会被初始化为类型的零值。// 使用make分配切片的内存
s := make([]int, 0, 10)
总结来说,new
用于值类型的内存分配,make
用于引用类型的内存分配。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Golang中new和make有什么区别