国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

Go語言字符串高效拼接的實現

2020-04-01 18:49:59
字體:
來源:轉載
供稿:網友

+號拼接

這種拼接最簡單,也最容易被我們使用,因為它是不限編程語言的,比如Go語言有,Java也有,它們是+號運算符,在運行時計算的。

var s strings+="昵稱"+":"+"志強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.Bufferb.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.Builderb.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()}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汽车| 万安县| 华蓥市| 浦北县| 木兰县| 珲春市| 永春县| 融水| 青河县| 阜宁县| 进贤县| 鹿邑县| 淮安市| 枞阳县| 贵溪市| 临江市| 连云港市| 霍邱县| 绥中县| 琼海市| 新干县| 台东市| 鄂托克前旗| 汕尾市| 讷河市| 宜兴市| 独山县| 吴江市| 合水县| SHOW| 多伦县| 绥芬河市| 晋宁县| 定陶县| 陕西省| 汉沽区| 宜昌市| 钦州市| 大埔区| 米脂县| 北票市|