GO语言-new函数
一.new函数
在上一小节中学习了指针,每次创建一个指针必须在额外创建一个变量,操作比较麻烦.
可以通过new函数直接创建一个类型的指针
1
变量名:=new(Type)
使用new函数创建的指针已有指向,可以使用
*指针对象
进行赋值.1
2
3
4
5
6func main() {
a := new(int)
fmt.Println(a) //输出:指针地址
*a = 123
fmt.Println(*a) //输出:123
}只声明的指针变量不能直接赋值,
1
2
3
4
5func main() {
var a *int
*a = 123
fmt.Println(*a)
}结果
1
2panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x1 addr=0x0 pc=0x48b576]