Go语言字符串高效拼接

栏目: Go · 发布时间: 6年前

内容简介:这个是利用

+号拼接

这种拼接最简单,也最容易被我们使用,因为它是不限编程语言的,比如 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语言字符串高效拼接》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript入门经典

JavaScript入门经典

Paul Wilton、Jeremy McPeak / 施宏斌 / 清华大学出版社 / 2009-2 / 98.00元

《Java Script入门经典(第3版)》首先介绍了J avaScript的基本语法,并介绍了如何发挥JavaScript中对象的威力。《Java Script入门经典(第3版)》还介绍了如何操纵最新版本浏览器所提供的BOM对象。在《Java Script入门经典(第3版)》的高级主题中,将介绍如何使用cookie,以及如何应用DHTML技术使Web页面焕发动感和活力。另外,《Java Scri......一起来看看 《JavaScript入门经典》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具