论坛首页 编程语言技术论坛

Go的new和make分配内存的区别

浏览 1460 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-12-25  
Go
1.new(T)创建一个没有任何数据的类型为T的实例,并返回该实例的指针;
2.make(T, args)只能创建 slice、map和channel,并且返回一个有初始值args(非零)的T类型的实例,非指针。

<pre name="code" class="c">
var p *[]int = new([]int)   // 分配slice结构内存 : *p = nil
var v []int = make([]int, 100)  // 分配一个有 100 个整数的slice
</pre>
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics