duanqia9034 2018-12-28 16:39
浏览 318
已采纳

呼叫具有可能的格式指令

When I run this code

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

(playground link)

I get the following warning: prog.go:5: Println call has possible formatting directive %d Go vet exited.

What is a proper way to do this?

  • 写回答

3条回答 默认 最新

  • dongyun7897 2018-12-28 16:46
    关注

    fmt.Println doesn't do formatting things like %d. Instead, it uses the default format of its arguments, and adds spaces between them.

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

    If you want printf style formatting, use fmt.Printf.

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

    And you don't need to be particular about the type. %v will generally figure it out.

    fmt.Printf("Hello, playground %v
    ",i)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?