這個問題是關于在 Go 中格式化字符串時的最佳實踐。每當我像這樣使用打印庫時:log.Printf("Greeting:",resp.GetMessage())我從 IDE (Goland) 收到一條警告:No placeholders in format string這意味著什么?正確的印刷品應該是什么樣子?
1 回答

素胚勾勒不出你
TA貢獻1827條經驗 獲得超9個贊
log.Printf()
需要一個格式字符串作為其第一個參數:
func?Printf(format?string,?v?...interface{})
格式字符串是一個字符串,您可以在其中使用帶有修飾符的動詞來布置您希望結果字符串的外觀。沒有任何動詞的格式字符串可能是一個錯誤(表明您可能忘記了其中的某些內容,或者如果它確實不需要動詞,則不應使用需要Pritnf()
格式字符串的格式)。
例如,這是一個格式字符串:
"Greeting:?%s"
這是它的使用方式:
log.Printf("Greeting:?%s",?resp.GetMessage())
這是一個非常簡單的示例,不保證格式化輸出。如果您沒有格式字符串,請使用log.Print()
或log.Println()
代替(它們不需要格式字符串):
log.Println("Greeting:",?resp.GetMessage())
Printf()
當您需要更復雜的格式,而不僅僅是記錄 2 個字符串(連接)時,該變體會很方便。
例如:
log.Printf("Hi,?my?name?is?%s,?and?I'm?%d?years?old.",?"Bob",?22)
輸出將是(在Go Playground上嘗試):
2009/11/10?23:00:00?Hi,?my?name?is?Bob,?and?I'm?22?years?old.
- 1 回答
- 0 關注
- 186 瀏覽
添加回答
舉報
0/150
提交
取消