主頁(yè) > 知識(shí)庫(kù) > Go語言字符串高效拼接的實(shí)現(xiàn)

Go語言字符串高效拼接的實(shí)現(xiàn)

熱門標(biāo)簽:地圖標(biāo)注的汽車標(biāo) 學(xué)海導(dǎo)航地圖標(biāo)注 南通如皋申請(qǐng)開通400電話 中國(guó)地圖標(biāo)注省會(huì)高清 浙江高速公路地圖標(biāo)注 廣州呼叫中心外呼系統(tǒng) 高德地圖標(biāo)注口訣 江西轉(zhuǎn)化率高的羿智云外呼系統(tǒng) 西部云谷一期地圖標(biāo)注

+號(hào)拼接

這種拼接最簡(jiǎn)單,也最容易被我們使用,因?yàn)樗遣幌蘧幊陶Z言的,比如Go語言有,Java也有,它們是+號(hào)運(yùn)算符,在運(yùn)行時(shí)計(jì)算的。

var s string
s+="昵稱"+":"+"志強(qiáng)1224"+"\n"
s+="聯(lián)系方式QQ"+":"+"354662600"+"\n"
fmt.Println(s)

fmt 拼接

這種拼接,借助于fmt.Sprint系列函數(shù)進(jìn)行拼接,然后返回拼接的字符串。

fmt.Sprint("昵稱",":","志強(qiáng)1224","\n","聯(lián)系方式QQ",":","354662600")

Join 拼接

這個(gè)是利用strings.Join函數(shù)進(jìn)行拼接,接受一個(gè)字符串?dāng)?shù)組,轉(zhuǎn)換為一個(gè)拼接好的字符串。

s:=[]string{"昵稱",":","志強(qiáng)1224","\n","聯(lián)系方式QQ",":","354662600"}
fmt.Println(strings.Join(s,""))

buffer 拼接

使用的是bytes.Buffer進(jìn)行的字符串拼接,它是非常靈活的一個(gè)結(jié)構(gòu)體,不止可以拼接字符串,還是可以byte,rune等,并且實(shí)現(xiàn)了io.Writer接口,寫入也非常方便。

var b bytes.Buffer
b.WriteString("昵稱")
b.WriteString(":")
b.WriteString("志強(qiáng)1224")
b.WriteString("\n")
b.WriteString("聯(lián)系方式QQ")
b.WriteString(":")
b.WriteString("354662600")
b.WriteString("\n")
fmt.Println(b.String())

builder 拼接

為了改進(jìn)buffer拼接的性能,從go 1.10 版本開始,增加了一個(gè)builder類型,用于提升字符串拼接的性能。它的使用和buffer幾乎一樣。

var b strings.Builder
b.WriteString("昵稱")
b.WriteString(":")
b.WriteString("志強(qiáng)1224")
b.WriteString("\n")
b.WriteString("聯(lián)系方式QQ")
b.WriteString(":")
b.WriteString("354662600")
b.WriteString("\n")
fmt.Println(b.String())

拼接函數(shù)改造

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()
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Golang字符串的拼接方法匯總

標(biāo)簽:許昌 東營(yíng) 常州 曲靖 保定 德宏 吐魯番 貴州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語言字符串高效拼接的實(shí)現(xiàn)》,本文關(guān)鍵詞  語言,字符串,高效,拼接,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go語言字符串高效拼接的實(shí)現(xiàn)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Go語言字符串高效拼接的實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章