panic: runtime error: invalid memory address or nil pointer dereference

1,003 阅读1分钟

使用指针时候报错panic: runtime error: invalid memory address or nil pointer dereference。

package main
func main() {   
    var a *int   
    *a = 1
}

出现错误原因:

初始化指针时,指针有了地址,即指针地址,但还没有值的地址,即a为nil,*a表示取a指向的值,a为nil,对空地址取值,就报错了。

改正:

package main
func main() {   
    var a *int  
    a = new(int) 
    *a = 1
}