new函数
- 可以通过new函数直接创建一个类型的指针
变量名:=new(Type)
func main() { a := new(int) fmt.Println(a) //输出:指针地址 *a = 123 fmt.Println(*a) //输出:123 }
- 只声明的指针变量不能直接赋值
func main() { var a *int *a = 123 fmt.Println(*a) }
- 结果
panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x1 addr=0x0 pc=0x48b576]