首頁 > 後端開發 > Golang > 如何處理 fmt.Sprintf 中的額外欄位?

如何處理 fmt.Sprintf 中的額外欄位?

DDD
發布: 2024-11-01 16:44:31
原創
1078 人瀏覽過

How to Handle Extra Fields in fmt.Sprintf?

處理fmt.Sprintf 中的額外欄位

問題:
使用fmt.Sprintf 格式化fmt.串時,額外的欄位可能會導致恐慌錯誤。例如,嘗試使用“hello %s”等字串模板格式化“Hello Friends”等完整字串會導致“Hello Friends%!(EXTRA string=world)”等錯誤。我們如何忽略 fmt.Sprintf 中的額外欄位?

解決方案:
雖然沒有直接的方法來忽略 fmt.Sprintf 中的額外字段,但一種方法是強制執行特定動詞要求。在這種情況下,我們可以要求使用者始終在命令列參數中提供 %s 動詞。要處理沒有實際格式的情況,使用者可以將字串截斷為零長度:

<code class="go">Hello Friends%.0s</code>
登入後複製

或甚至更短:

<code class="go">Hello Friends%.s</code>
登入後複製

這將產生純輸出:

Hello Friends
登入後複製

遵守此約定,您可以避免由於sprintf 格式字串中意外的額外欄位而導致的錯誤。

以上是如何處理 fmt.Sprintf 中的額外欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板