Go中不输出到控制台的字符串格式化:如何获取格式化后的字符串?
大家好!我刚开始学习Go,遇到了一个问题。在Python中,我经常使用字符串的`.format()`方法来拼接变量,但不立即输出,而是保存到变量中供后续使用(如日志记录、网络发送、文件写入)。
在Go中,我看到有`fmt.Printf()`函数,它可以很好地格式化并输出文本到stdout。但如果我只是想获取格式化后的字符串而不显示呢?比如,我想从模板和值中构建一个SQL查询:
```go
name := "Alice"
age := 30
// 想得到字符串:"User: Alice, Age: 30"
// fmt.Printf("User: %s, Age: %d", name, age) // 输出到控制台,但我需要保存到变量
```
我尝试过使用`fmt.Sprintf()`,但不确定这是否是正确的替代。或者,标准库中是否有其他函数可以做同样的事情但不打印?例如,用于格式化错误或构建复杂的字符串。