Go语言字符串的高效拼接方法

这篇文章主要介绍“Go语言字符串的高效拼接方法”,在日常操作中,相信很多人在Go语言字符串的高效拼接方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言字符串的高效拼接方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联建站主要从事成都网站建设、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务隆子,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

+号拼接

这种拼接最简单,也最容易被我们使用,因为它是不限编程语言的,比如Go语言有,Java也有,它们是+号运算符,在运行时计算的。

var s string
s+="昵称"+":"+"志强1224"+"\n"
s+="联系方式QQ"+":"+"354662600"+"\n"
fmt.Println(s)

fmt 拼接

这种拼接,借助于fmt.Sprint系列函数进行拼接,然后返回拼接的字符串。

fmt.Sprint("昵称",":","志强1224","\n","联系方式QQ",":","354662600")

Join 拼接

这个是利用strings.Join函数进行拼接,接受一个字符串数组,转换为一个拼接好的字符串。

s:=[]string{"昵称",":","志强1224","\n","联系方式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("\n")
b.WriteString("联系方式QQ")
b.WriteString(":")
b.WriteString("354662600")
b.WriteString("\n")
fmt.Println(b.String())

builder 拼接

为了改进buffer拼接的性能,从go 1.10 版本开始,增加了一个builder类型,用于提升字符串拼接的性能。它的使用和buffer几乎一样。

var b strings.Builder
b.WriteString("昵称")
b.WriteString(":")
b.WriteString("志强1224")
b.WriteString("\n")
b.WriteString("联系方式QQ")
b.WriteString(":")
b.WriteString("354662600")
b.WriteString("\n")
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{
   return strings.Join(p,"")
}

func StringBuffer(p []string) string {
   var b bytes.Buffer
   l:=len(p)
   for i:=0;i<l;i++{
      b.WriteString(p[i])
   }
   return b.String()
}

func StringBuilder(p []string) string {
   var b strings.Builder
   l:=len(p)
   for i:=0;i<l;i++{
      b.WriteString(p[i])
   }
   return b.String()
}

到此,关于“Go语言字符串的高效拼接方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

分享文章:Go语言字符串的高效拼接方法
分享路径:https://www.cdcxhl.com/article28/jjhcjp.html

成都网站建设公司_创新互联,为您提供域名注册App开发企业网站制作网站建设标签优化自适应网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化