您好,登錄后才能下訂單哦!
這篇文章主要介紹“Go語言字符串的高效拼接方法”,在日常操作中,相信很多人在Go語言字符串的高效拼接方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Go語言字符串的高效拼接方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
這種拼接最簡單,也最容易被我們使用,因為它是不限編程語言的,比如Go語言有,Java也有,它們是+
號運算符,在運行時計算的。
var s string s+="昵稱"+":"+"志強1224"+"\n" s+="聯系方式QQ"+":"+"354662600"+"\n" fmt.Println(s)
這種拼接,借助于fmt.Sprint
系列函數進行拼接,然后返回拼接的字符串。
fmt.Sprint("昵稱",":","志強1224","\n","聯系方式QQ",":","354662600")
這個是利用strings.Join
函數進行拼接,接受一個字符串數組,轉換為一個拼接好的字符串。
s:=[]string{"昵稱",":","志強1224","\n","聯系方式QQ",":","354662600"} fmt.Println(strings.Join(s,""))
使用的是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())
為了改進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;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() }
到此,關于“Go語言字符串的高效拼接方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。