Go语言中new()和 make()的区别详解
概述
Go语言中的new和make一直是新手比较容易混淆的东西,咋一看很相似。不过解释两者之间的不同也非常容易。
new的主要特性
首先new是内建函数,你可以从http://golang.org/pkg/builtin/#new这儿看到它,它的定义也很简单:
funcnew(Type)*Type
官方文档对于它的描述是:
内建函数new用来分配内存,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配类型零值的指针
根据这段描述,我们可以自己实现一个类似new的功能:
funcnewInt()*int{
variint
return&i
}
someInt:=newInt()
热门推荐
2 天仓节祝福语简短
10 岳母生日贺卡祝福语简短
11 新年祝福语鼠年简短创意
12 公司拍摄祝福语大全简短
13 关于旅游的简短祝福语
14 员工聚餐中秋祝福语简短
15 红包祝福语简短10字
16 托班祝福语大全简短
17 9字虎年简短祝福语
18 卡片朋友祝福语大全简短