一尘不染

呼叫具有可能的格式指令

go

当我运行这段代码

package main
import ("fmt")
func main() {
    i := 5
    fmt.Println("Hello, playground %d",i)
}

游乐场链接

我收到以下警告:prog.go:5:Println调用具有可能的格式指令%d,Go vet已退出。

什么是正确的方法?


阅读 228

收藏
2020-07-02

共1个答案

一尘不染

fmt.Println不格式化像这样的东西%d。而是使用其参数的默认格式,并在参数之间添加空格。

fmt.Println("Hello, playground",i)  // Hello, playground 5

如果要使用printf样式格式,请使用fmt.Printf

fmt.Printf("Hello, playground %d\n",i)

而且您不必特别讲究类型。%v通常会弄清楚。

fmt.Printf("Hello, playground %v\n",i)
2020-07-02