[goang nil 检查] golang 有什么好的 nil 检查工具吗

1 天前
 Charlie17Li

背景

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

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

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

调研

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

673 次点击
所在节点    Go 编程语言
3 条回复
aduo
1 天前
GoLand 的话, 设置 `Editor | Inspections | Go | Data flow analysis (experimental) | Potential nil dereference` 提示等级到`Error`, 有那么一点用. 搭配 `Qodana analysis` 的话, 可以规避很大部分的新手空指针错误
soul11201
1 天前
pike0002
9 小时 57 分钟前
Uber 开了一个 nilaway 的库,他现在还处于活跃开发期,有大厂背书,关注一下。不过自己之前测试了一下,复杂一点的项目 false positive 还是有点多。https://github.com/uber-go/nilaway

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1097924

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX