使用strings.Join()方法拼接字符串?dāng)?shù)組:
為信陽(yáng)等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及信陽(yáng)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、網(wǎng)站建設(shè)、信陽(yáng)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!func BenchmarkAddStringWithJoin(b *testing.B) { hello := "hello" world := "world" for i := 0; i < b.N; i++ { _ = strings.Join([]string{hello, world}, ",") } }
join會(huì)先根據(jù)字符串?dāng)?shù)組的內(nèi)容,計(jì)算出一個(gè)拼接之后的長(zhǎng)度,然后申請(qǐng)對(duì)應(yīng)大小的內(nèi)存,一個(gè)一個(gè)字符串填入,在已有一個(gè)數(shù)組的情況下,這種效率會(huì)很高,但是本來(lái)沒(méi)有,去構(gòu)造這個(gè)數(shù)據(jù)的代價(jià)也不小。
此方法跟js中的Array.prototype.join方法差不多,都是給數(shù)組的每個(gè)元素中拼接一個(gè)目標(biāo)字符串,目標(biāo)字符串為join方法的參數(shù)
strings.Join方法比普通的"str"+"str2"這種形式的字符串拼接效率更高,這是因?yàn)閟tring本身就是一個(gè)常量,那拼接成一個(gè)新字符串,就必須要銷毀原string對(duì)象,然后使當(dāng)前引用指向新的字符串對(duì)象,這樣做的開銷是非常大的,而strings.Join則不用。
以上就是golang怎么拼接字符串?dāng)?shù)組的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!