介绍一个报错
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x109aa48]
代码如下
package main
import (
"log"
)
type Hi struct {
Name string
}
var h *Hi
func main() {
/*
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x109aa48]
*/
h.Name = "fail"
log.Println(h)
}
###
补充下: 你的错误是空指针错误,并不是你标题写的错误...
var h *Hi
这里只是声明了一个 指针型变量, 没有给予具体的值, 所以是个空指针
空指针无法直接使用,你应该使用下面的方法,声明并创建
var h = new(Hi)
###
code 为 1 就是 linux下运行出错了但是没有自定义错误码啊.
var h *Hi
这只是定义了 h 是一个指针, 并没有实例啊 你后面直接使用,肯定是空指针啊.
空指针,未分配内存