go 查找解決 runtime error: invalid memory address or nil pointer dereference 的問題


背景

接口出現異常,發現這個錯誤

runtime error: invalid memory address or nil pointer dereference

  

原有: 指針變量為空,此時訪問指針變量的成員,就會出現這個問題。

 

下面一個測試的錯誤再現demo, 當然我們平常開發的時候,錯誤不會這么明顯,但本質是一樣的,只要看下面報錯信息部分,就可以迅速定位到問題所在

 

 

 

 

 

 

只有標記的這部分是和自己代碼比較相關的,每個藍色的錯誤連接都可以點擊進去看到錯誤處的源碼,

 

 

 

顯然我們就已經找到了問題的出現地方,就是 這個部分,res 本身是一個空指針,然后訪問空指針的內部成員,就出現panic 錯誤。

 

 

 

 

 

經常錯誤的地方:

 

通常  指針變量沒有完成初始化 就調用對象方法 或者訪問對象成員變量,就會出現這個問題,平常檢查代碼是否有類似現象,

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM