使用strings.Join()方法拼接字串陣列:
func BenchmarkAddStringWithJoin(b *testing.B) { hello := "hello" world := "world" for i := 0; i < b.N; i++ { _ = strings.Join([]string{hello, world}, ",") } }
join會先根據字串陣列的內容,計算出一個拼接之後的長度,然後申請對應大小的內存,一個一個字串填入,在已有一個數組的情況下,這種效率會很高,但是本來沒有,去構造這個資料的代價也不小。
此方法跟js中的Array.prototype.join方法差不多,都是給陣列的每個元素中拼接一個目標字串,目標字串為join方法的參數
strings .Join方法比普通的"str" "str2"這種形式的字串拼接效率更高,這是因為string本身就是一個常數,那拼接成一個新字串,就必須要銷毀原string對象,然後使目前引用指向新的字串對象,這樣做的開銷是非常大的,而strings.Join則不用。
更多golang知識請關注PHP中文網golang教學欄位。
以上是golang怎麼拼接字串數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!