Go語言字串拼接的三種方式

2021-08-25 11:52:23 字數 703 閱讀 6794

通過建立乙個緩衝byte型別的緩衝器str1,然後通過writestring方法將傳入的字串放入緩衝器的尾部,已達到拼接的作用,然後呼叫緩衝器str1的string()方法,可以返回放入緩衝器中的內容(實際返回的是緩衝器中未讀的部分),返回型別為string。

var str1 bytes.buffer

str1.writestring("hello ")

str1.writestring("world")

fmt.println("buffer :",str1.string())

這種方式實現的字串拼接過程最簡單,在實際中這種拼接方式在應對少量拼接時,效率還是不錯的。

str2 := "hello" + " " + "world"

fmt.println("add :",str2)

這種方式是將傳入的string型別的陣列拼接,該陣列元素兩兩之間的內容就是傳入的第二個引數。所以當需要將很多的字串拼接起來,可以通過將需要拼接的諸多字串放入乙個string型別的陣列中,然後將該陣列作為strings.join()的第乙個實參,這樣**量可以減少很多,顯得簡潔方便。

str3 := strings.join(string," ")

fmt.println("join : ",str3)

Go語言字串高效拼接(三)

既然要優化builder拼接,那麼我們起碼知道他慢在哪,我們繼續使用我們上篇文章的測試用例,執行看下效能。builder10 8 5000000 258 ns op 480 b op 4 allocs op builder100 8 1000000 2012 ns op 6752 b op 8 al...

go語言中五種字串的拼接方式 小結

目錄 這種方式是我在寫golang經常用的方式,gbdjwwvyho語言用 拼接,php使用.拼接,不過由於golang中的字串是不可變的型別,因此用 連線會產生乙個新的字串對效率有影響。func main s1 hello s2 word s3 fmt.sprintf 程式設計客棧 s s s1,...

字串的三種儲存方式

目錄在資料結構中,字串要單獨用一種儲存結構來儲存,稱為串儲存結構。這裡的串指的就是字串。無論學習哪種程式語言,操作最多的總是字串。我們平常使用最多的儲存結構無疑是利用定長陣列儲存。但是這種儲存結構需要提前分配空間,當我們不知道字串長度的時候,過大的分配記憶體無疑是一種浪費。因此,合理的選擇字串的儲存...