Go_024_new函数
2023-05-16 本文已影响0人
为宇绸缪
new 和 make 是 Go 语言中用于内存分配的原语。简单来说,new 只分配内存,make 用于初始化 slice、map 和 channel。
基本数据类型(整型、浮点型、字符串、布尔类型、数组、结构体)范属于值类型
值类型特点: 当声明未赋值之前存在一个默认值(zero value)
指针类型属于引用类型, 包括切片, map, chanel都属于应用类型
引用类型当声明未赋值之前,是没有开辟空间的,即没有默认值
int的默认值是0,这样就是开辟一个空间存这个0
package main
import "fmt"
func main() {
var p *int
p = new(int)
fmt.Println(*p)
*p = 10
fmt.Println(*p)
}