问答

golang 报错 segmentation violation code=0x1

作者:admin 2021-06-16 我要评论

介绍一个报错 panic: runtime error: invalid memory address or nil pointer dereference[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x109...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

介绍一个报错

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 是一个指针, 并没有实例啊 你后面直接使用,肯定是空指针啊.

###

空指针,未分配内存

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • golang 报错 segmentation violation c

    golang 报错 segmentation violation c

  • ts的泛型语法在jsx中看着真不舒服

    ts的泛型语法在jsx中看着真不舒服

  • spring boot 定时任务如何持续进行

    spring boot 定时任务如何持续进行

  • js 能否这样调用

    js 能否这样调用

腾讯云代理商
海外云服务器