3 回答

TA貢獻1847條經(jīng)驗 獲得超11個贊
fmt.Println
不做格式化之類的事情%d
。相反,它使用其參數(shù)的默認格式,并在它們之間添加空格。
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)

TA貢獻1780條經(jīng)驗 獲得超1個贊
該警告告訴您%d
在調(diào)用Println
.?這是一個警告,因為Println
?不支持格式化指令。這些指令由格式化函數(shù)Printf
和Sprintf
.?這在fmt
包文檔中有詳盡的解釋。
正如您在運行代碼時可以清楚地看到的那樣,輸出是
Hello,?playground?%d?5
因為Println
正如它的文檔所說的那樣——它打印它的參數(shù)后跟一個換行符。將其更改為Printf
,這可能是您想要的,而您得到的是:
Hello,?playground?5
這大概是你想要的。

TA貢獻1799條經(jīng)驗 獲得超8個贊
package main
import ("fmt")
func main() {
i := 5
fmt.Println("Hello, playground %d",i)
}
===================================================
package main
import ("fmt")
func main() {
i := 5
fmt.Printf("Hello, playground %d",i)
}
- 3 回答
- 0 關注
- 282 瀏覽
添加回答
舉報