本文介绍: Go 指针声明后赋值,出现 panic: runtime error: invalid memory address or nil pointer dereference,这种是内存地址错误。首先我们要了解指针,指针地址。
首先我们要了解指针,指针地址
在 Go 中 * 代表取指针地址中存的值,& 代表取一个值的地址
对于指针,我们一定要明白指针储存的是一个值的地址,但本身这个指针也需要地址来储存
错误示例
错误提示
初始化指针,指针变量的地址为0xc00009a008
, 指针值为nil
此时,i为nil,系统没有给*i
分配地址,相当于给一个nil地址赋值,肯定会出错
解决办法是,预先分配一个内存地址给到指针变量
new初始化内存地址
举个例子:
当status 请求参数超出范围时报错 runtime error: invalid memory address or nil pointer dereference
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。