如何摆脱Println中的Govet警告%

这段代码

package main

import (
    "fmt"
)

func main() {
    fmt.Println("%%dude")
}

游乐场链接:https : //play.golang.org/p/Shq5pMHg4bj

发出go vet警告

./prog.go:8:2: Println call has possible formatting directive %d

我怎么能告诉 go vet 我真的想写两个百分号而不是警告我?

回答

你不能真正抑制它,但即使你可以使用自定义规则和标志,我也不会这样做,因为其他人构建你的代码仍然会遇到这个问题。

相反,您可以使用这些替代方案中的任何一个,这些替代方案产生相同的输出,而没有来自vet以下方面的任何警告:

fmt.Println("%%"+"dude")
fmt.Println("%x25dude")
fmt.Printf("%%%%duden")
s := "%%dude"
fmt.Println(s)

试试Go Playground上的例子。

  • @topskip There was a discussion about that (see [proposal: cmd/vet: add mechanism to silence false positives #17058](https://github.com/golang/go/issues/17058)) which was declined.

以上是如何摆脱Println中的Govet警告%的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>