Go语言字符串高效拼接的实现语言字符串高效拼接的实现
主要介绍了Go语言字符串高效拼接的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一
定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
+号拼接号拼接
这种拼接最简单,也最容易被我们使用,因为它是不限编程语言的,比如Go语言有,Java也有,它们是+号运算符,在运行时
计算的。
var s string
s+="昵称"+":"+"志强1224"+""
s+="联系方式QQ"+":"+"354662600"+""
fmt.Println(s)
fmt 拼接拼接
这种拼接,借助于fmt.Sprint系列函数进行拼接,然后返回拼接的字符串。
fmt.Sprint("昵称",":","志强1224","","联系方式QQ",":","354662600")
Join 拼接拼接
这个是利用strings.Join函数进行拼接,接受一个字符串数组,转换为一个拼接好的字符串。
s:=[]string{"昵称",":","志强1224","","联系方式QQ",":","354662600"}
fmt.Println(strings.Join(s,""))
buffer 拼接拼接
使用的是bytes.Buffer进行的字符串拼接,它是非常灵活的一个结构体,不止可以拼接字符串,还是可以byte,rune等,并且实
现了io.Writer接口,写入也非常方便。
var b bytes.Buffer
b.WriteString("昵称")
b.WriteString(":")
b.WriteString("志强1224")
b.WriteString("")
b.WriteString("联系方式QQ")
b.WriteString(":")
b.WriteString("354662600")
b.WriteString("")
fmt.Println(b.String())
builder 拼接拼接
为了改进buffer拼接的性能,从go 1.10 版本开始,增加了一个builder类型,用于提升字符串拼接的性能。它的使用和buffer几
乎一样。
var b strings.Builder
b.WriteString("昵称")
b.WriteString(":")
b.WriteString("志强1224")
b.WriteString("")
b.WriteString("联系方式QQ")
b.WriteString(":")
b.WriteString("354662600")
b.WriteString("")
fmt.Println(b.String())
拼接函数改造拼接函数改造
func StringPlus(p []string) string{
var s string
l:=len(p)
for i:=0;i<l;i++{
s+=p[i]
}
return s
}
func StringFmt(p []interface{}) string{
return fmt.Sprint(p...)
}
func StringJoin(p []string) string{