指针默认地址为nil
指针只能指向一个地址空间,指针变量指向一个未知的空间称为野指针,野指针不允许在程序中出现
野指针(直接指向一个数值的指针称为野指针,野指针会报错)
new函数作用,创建一个给定的(int,float或者其他)的空间地址,可以将该地址赋值给指针。
# 野指针示例
var p *int
*p = 56
fmt.Println(p)
# 正常指针
var a int
var p *int
p = &a
*p = 56
fmt.Println(p)
# 正常指针,使用new函数创建对应的地址,然后赋值
var p *int
p = new(int)
*p = 57
fmt.Println(p)
# 自动推导类型指针创建
q := new(int)
*q = 999
fmt.Println(*q)