3 回答

TA贡献1824条经验 获得超6个赞
我喜欢用 fmt 的Sprintf
方法来处理这种类型的事情。它的工作原理类似于Printf
Go 或 C,只是它返回一个字符串。下面是一个例子:
output := fmt.Sprintf("%s%s%s%d", "key:", "value", ", key2:", 100)
转到fmt.Sprintf 的文档

TA贡献1804条经验 获得超2个赞
您可以使用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
缓冲
如果您需要合并很多字符串,我会考虑使用缓冲区而不是上面提到的那些解决方案。

TA贡献1844条经验 获得超8个赞
你可以简单地这样做:
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 =100
ans:=fmt.Sprintf("%s%d%s", s1,num,s2);
fmt.Println(ans);
- 3 回答
- 0 关注
- 259 浏览
添加回答
举报