go语言中new与make的使用和区别
2021-01-16 10:13
标签:数据 返回值 另一个 而不是 声明 创建 函数 func 引用 2020-04-21 make和new是go语言的两个内建函数,主要用来创建分配类型内存。 new new函数的声明:func new(Type) *Type new()只接受一个参数,此参数是一个类型,分配指向该类型内存地址的指针,同时将该内存的数据置为0; 也就说new不能new引用类型,new的返回值 指向引用的指针,并把引用置为0, 也就是new的返回值是指向另一个空引用的指针。无效 make make函数声明:func make(t Type, size, ...IntegerType) Type make也用于内存分配,但只能用于chan、map以及切片的内存创建,返回的是类型本身,而不是指针,因为这三个类型本身就是引用类型,没必要返回指针。make也会初始化,但不是置为0 go语言中new与make的使用和区别 标签:数据 返回值 另一个 而不是 声明 创建 函数 func 引用 原文地址:https://www.cnblogs.com/zz8781/p/12748529.html1 i := new(int)
2 fmt.Println(i)//0xc0000160a0 返回指针
3 fmt.Println(*i)//0 初始化为0
m := make([]int,2)
fmt.Println(m)//[0 0] 将切片中的数据初始化为0 返回值是一个引用
文章标题:go语言中new与make的使用和区别
文章链接:http://soscw.com/index.php/essay/42664.html