string - 格式化 Go 字符串而不打印?

有没有一种简单的方法可以在不打印字符串的情况下在 Go 中格式化字符串?

我能做到:

bar := "bar"
fmt.Printf("foo: %s", bar)

但我希望返回格式化的字符串而不是打印出来,以便进一步操作它。

我也可以这样做:

s := "foo: " + bar

但是当格式字符串很复杂时,这变得难以阅读,当一个或多个部分不是字符串并且必须首先转换时,这变得很麻烦,例如

i := 25
s := "foo: " + strconv.Itoa(i)

有没有更简单的方法来做到这一点?

最佳答案

Sprintf就是你要找的。​​p>

示例

fmt.Sprintf("foo: %s", bar)

您还可以在 Errors example 中看到它的使用情况。作为“围棋之旅”的一部分。

return fmt.Sprintf("at %v, %s", e.When, e.What)

https://stackoverflow.com/questions/11123865/

相关文章:

javascript - 将 JavaScript 日期格式化为 yyyy-mm-dd

sql-server - 在 SQL Server Management Studio 中格式化 S

android - 如何在 Android 中格式化日期和时间?

r - 如何禁用科学记数法?

r - 格式化R中的小数位

r - 如何添加前导零?

objective-c - 使 float 只显示两位小数

formatting - Intellij 重新格式化文件保存

formatting - Sublime Text 3 中的 80 个字符/右边距线

git - 如何仅使用第一行输出 git log?