首頁 >後端開發 >Golang >如何將 fmt.Sprintf() 中的所有變數替換為單一值?

如何將 fmt.Sprintf() 中的所有變數替換為單一值?

DDD
DDD原創
2024-12-15 07:44:14137瀏覽

How Can I Replace All Variables in fmt.Sprintf() with a Single Value?

用單一值取代所有Sprintf 變數

使用fmt.Sprintf() 格式化字串時,通常涉及以特定值取代變數價值觀。但是,如果您需要用相同的值替換所有變數怎麼辦?

fmt.Sprintf() 確實可以透過使用明確參數索引來適應這種情況。這些索引指定應使用哪個參數進行格式化,而不是預設的順序行為。

例如,用「foo」取代格式化字串中的所有變數:

val := "foo"
s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)

在此例如,在每個格式動詞之前使用明確參數索引[1],表示所有變數都應替換為第一個參數,即“foo”。產生的字串變成:

"foo in foo is foo"

以下是語法細分:

  • %[1]v: 將變數1 替換為「foo ”
  • %[1]v 是%[1]v:這一行有效地聲明「foo in foo is foo」

您可以省略第一個變數的明確參數索引來進一步簡化它,因為它預設為1:

fmt.Sprintf("%v in %[1]v is %[1]v", "foo")

這種方法提供了一種方便的方法,可以用單一值統一替換格式化字串中的所有變數。

以上是如何將 fmt.Sprintf() 中的所有變數替換為單一值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn