我是 Go 的新手。我找不到任何显示如何将多个字符串合并为一个新字符串的官方文档。
我期待的是:
输入: "key:"
", key2:"
"value"
100
输出: "Key:value, key2:100"
如果可能的话,我想使用 +
像在 Java 和 Swift 中那样合并字符串。
原文由 Yi Jiang 发布,翻译遵循 CC BY-SA 4.0 许可协议
我是 Go 的新手。我找不到任何显示如何将多个字符串合并为一个新字符串的官方文档。
我期待的是:
输入: "key:"
", key2:"
"value"
100
输出: "Key:value, key2:100"
如果可能的话,我想使用 +
像在 Java 和 Swift 中那样合并字符串。
原文由 Yi Jiang 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 strings.Join,它几乎比 fmt.Sprintf 快 3 倍。但是,它的可读性可能较低。
output := strings.Join([]string{"key:", "value", ", key2:", strconv.Itoa(100)}, "")
请参阅 https://play.golang.org/p/AqiLz3oRVq
strings.Join 与 fmt.Sprintf
BenchmarkFmt-4 2000000 685 ns/op
BenchmarkJoins-4 5000000 244 ns/op
缓冲
如果您需要合并很多字符串,我会考虑使用缓冲区而不是上面提到的那些解决方案。
原文由 basgys 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.3k 阅读
2 回答894 阅读✓ 已解决
2 回答2.2k 阅读
1 回答2.1k 阅读
对于这类事情,我喜欢使用 fmt 的
Sprintf
方法。它的工作方式类似于Printf
在 Go 或 C 中仅返回一个字符串。这是一个例子:前往 fmt.Sprintf 的文档