背景
接口出现异常,发现这个错误
runtime error: invalid memory address or nil pointer dereference
原有: 指针变量为空,此时访问指针变量的成员,就会出现这个问题。
下面一个测试的错误再现demo, 当然我们平常开发的时候,错误不会这么明显,但本质是一样的,只要看下面报错信息部分,就可以迅速定位到问题所在
只有标记的这部分是和自己代码比较相关的,每个蓝色的错误连接都可以点击进去看到错误处的源码,
显然我们就已经找到了问题的出现地方,就是 这个部分,res 本身是一个空指针,然后访问空指针的内部成员,就出现panic 错误。
经常错误的地方:
通常 指针变量没有完成初始化 就调用对象方法 或者访问对象成员变量,就会出现这个问题,平常检查代码是否有类似现象,