猿问

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

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

我期待的是:

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

输出"Key:value, key2:100"

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


陪伴而非守候
浏览 260回答 3
3回答

慕妹3242003

我喜欢用 fmt 的Sprintf方法来处理这种类型的事情。它的工作原理类似于PrintfGo 或 C,只是它返回一个字符串。下面是一个例子:output := fmt.Sprintf("%s%s%s%d", "key:", "value", ", key2:", 100)转到fmt.Sprintf 的文档

慕婉清6462132

您可以使用strings.Join,它几乎比fmt.Sprintf 快3 倍。但是,它的可读性可能较差。output := strings.Join([]string{"key:", "value", ", key2:", strconv.Itoa(100)}, "")见https://play.golang.org/p/AqiLz3oRVqstrings.Join 与 fmt.SprintfBenchmarkFmt-4       2000000           685 ns/opBenchmarkJoins-4     5000000           244 ns/op缓冲如果您需要合并很多字符串,我会考虑使用缓冲区而不是上面提到的那些解决方案。

婷婷同学_

你可以简单地这样做:import (    "fmt"     "strconv")func main() {     result:="str1"+"str2"+strconv.Itoa(123)+"str3"+strconv.Itoa(12)     fmt.Println(result)}使用 fmt.Sprintf()var s1="abc"var s2="def"var num =100ans:=fmt.Sprintf("%s%d%s", s1,num,s2);fmt.Println(ans);
随时随地看视频慕课网APP

相关分类

Go
我要回答