如何摆脱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.