在不打印的情况下格式化 Go 字符串?

问题描述

Sprintf正是您要找的。

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

您还可以在“A Tour of Go”的Errors 示例中看到它的使用情况。

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

解决方法

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

我可以:

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

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

我也可以做类似的事情:

s := "foo: " + bar

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...