主页 > 知识库 > Go语言字符串高效拼接的实现

Go语言字符串高效拼接的实现

热门标签:服务外包 地方门户网站 呼叫中心市场需求 铁路电话系统 AI电销 Linux服务器 百度竞价排名 网站排名优化

+号拼接

这种拼接最简单,也最容易被我们使用,因为它是不限编程语言的,比如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;il;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;il;i++{
   b.WriteString(p[i])
  }
  return b.String()
}

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • Golang字符串的拼接方法汇总

标签:衡水 湘潭 湖南 兰州 崇左 黄山 铜川 仙桃

巨人网络通讯声明:本文标题《Go语言字符串高效拼接的实现》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266