为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
陪伴而非守候 2021-12-20 09:49:16
我是 Go 的新手。我找不到任何官方文档显示如何将多个字符串合并为一个新字符串。我期待的是:输入:"key:", "value", ", key2:",100输出:"Key:value, key2:100"+如果可能的话,我想使用像 Java 和 Swift 一样合并字符串。
查看完整描述

3 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

我喜欢用 fmt 的Sprintf方法来处理这种类型的事情。它的工作原理类似于PrintfGo 或 C,只是它返回一个字符串。下面是一个例子:

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

转到fmt.Sprintf 的文档


查看完整回答
反对 回复 2021-12-20
?
慕婉清6462132

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

缓冲


如果您需要合并很多字符串,我会考虑使用缓冲区而不是上面提到的那些解决方案。


查看完整回答
反对 回复 2021-12-20
?
婷婷同学_

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);


查看完整回答
反对 回复 2021-12-20
  • 3 回答
  • 0 关注
  • 259 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号