如何将多个字符串和int合并为一个字符串

新手上路,请多包涵

我是 Go 的新手。我找不到任何显示如何将多个字符串合并为一个新字符串的官方文档。

我期待的是:

输入"key:" ", key2:" "value" 100

输出"Key:value, key2:100"

如果可能的话,我想使用 + 像在 Java 和 Swift 中那样合并字符串。

原文由 Yi Jiang 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 753
2 个回答

对于这类事情,我喜欢使用 fmt 的 Sprintf 方法。它的工作方式类似于 Printf 在 Go 或 C 中仅返回一个字符串。这是一个例子:

 output := fmt.Sprintf("%s%s%s%d", "key:", "value", ", key2:", 100)

前往 fmt.Sprintf 的文档

原文由 evanmcdonnal 发布,翻译遵循 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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题