go语言new和make有什么区别

avatar
作者
猴君
阅读量:0

在Go语言中,newmake都是用来分配内存的关键字,但它们的用法和作用对象不同。

  1. new关键字用来分配内存,并返回内存地址,主要用来分配值类型(如int、string、struct等)的内存。使用new分配的内存会被初始化为零值。
// 使用new分配整型变量的内存 var i *int i = new(int) 
  1. make关键字用来分配并初始化引用类型(如slice、map、chan等)的内存,返回的是该类型的引用。使用make分配的内存会被初始化为类型的零值。
// 使用make分配切片的内存 s := make([]int, 0, 10) 

总结来说,new用于值类型的内存分配,make用于引用类型的内存分配。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!