猿问

在 Sprintf 上查看兽医警告

我正在做一个项目,我正在使用下面的东西

func Test(format string, args ...interface{}) string {
    return fmt.Sprintf(format, args...)
}

现在,当我运行时,go vet -v ./...它会警告我:

无法在调用 Sprintf 时检查非常量格式

据我了解,这是因为第一个参数Sprintf不是常量,它可以是基本上作为格式字符串传递的任何内容。它也很常见,例如这里的兽医测试本身

现在我知道这是 vet 工具中的一个错误,可以通过将 -printf=false参数传递给 go vet 来修复。但这也会禁用所有其他printf检查,这是我不想要的。

现在真正的问题是,我该如何修复这些警告?


小怪兽爱吃肉
浏览 84回答 1
1回答

ABOUTYOU

如果您通过包调用“go vet” ,您可以在注释中使用no-lint 指令gometalinter告诉 gometalinter 忽略某些警告。例子:func Test(format string, args ...interface{}) string {     return fmt.Sprintf(format, args...) // nolint: vet     }
随时随地看视频慕课网APP

相关分类

Go
我要回答