GoCILint,标记错误分配给空白标识符

Go GoCILint, Flag error assignment to Blank Identifier

我已经开始使用 GoCILint,但它不会标记错误分配给空白标识符的代码。

func someFunc() error{

}

_ := someFunc()

这是一种不正确的编码做法,其中错误被分配给空白标识符而不是被检查,但 GoCILint 并未对此进行标记。

这是 lints 的限制还是我必须在这里启用某些东西

我检查了 errchk、govet、静态分析 lint 工具,但 none 似乎标记了此代码

errcheck 默认接受空白赋值(这是故意的)。

但是,您可以使用 -blank 标志告诉它在 _ 赋值时触发。

这记录在 errcheck 文档的 Use 部分:

The -blank flag enables checking for assignments of errors to the blank identifier. It takes no arguments.

在 golang-ci 级别,这可以在 config file:

中指定 ci
linters-settings:
  ...
  errcheck:
    ...
    # report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`;
    # default is false: such cases aren't reported by default.
    check-blank: false
    ...