+號拼接
這種拼接最簡單,也最容易被我們使用,因為它是不限編程語言的,比如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武林網。
新聞熱點
疑難解答