背景

golang 新手,写代码时有时候会忘记对 nil 做检查。比如,如下场景:

  1. 变量没有初始化,包括:map ,自定义接口体
  2. 函数没有对入参做 nil 检查
  3. 遇到错误没有 return ,导致后续使用到 nil

写完这三点意识到这种错误太基础了,但是不过是自己写的,还是别人写的,确实都遇到过以上错误。所以想问的是大家有什么 nil 检查工具。

调研

在 github 找到 uber 的 nilaway,试用了下,假阳性太高,不具备可用性,但奇怪为啥 star 那么多(3.2k).

举报· 313 次点击
登录 注册 站外分享
2 条回复  
soul11201 初学 前天 16:41
https://golangci-lint.run/usage/linters/
aduo 初学 前天 16:36
GoLand 的话, 设置 `Editor | Inspections | Go | Data flow analysis (experimental) | Potential nil dereference` 提示等级到`Error`, 有那么一点用. 搭配 `Qodana analysis` 的话, 可以规避很大部分的新手空指针错误
返回顶部