+號(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í)有所幫助,也希望大家多多支持腳本之家。