猿问

如何摆脱 Println 中的 Go vet 警告 %

这段代码


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

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


翻阅古今
浏览 172回答 2
2回答

犯罪嫌疑人X

你不能真正抑制它,但即使你可以使用自定义规则和标志,我也不会这样做,因为其他人构建你的代码仍然会遇到这种情况。相反,您可以使用这些替代方法中的任何一种,它们会产生相同的输出,而不会发出任何警告vet:fmt.Println("%%"+"dude")fmt.Println("%\x25dude")fmt.Printf("%%%%dude\n")s := "%%dude"fmt.Println(s)试试Go Playground上的示例。

米脂

你真的不能(除了不写那个代码)。Go vet 没有任何机制让“我真的是这个意思”评论来抑制警告。在过去的五年里,已经有过几次关于它的讨论,但都没有采取任何行动。您只需要接受帮助文本所说的内容:go vet“使用不能保证所有报告都是真实问题的启发式方法”。
随时随地看视频慕课网APP

相关分类

Go
我要回答