1. 程式人生 > >golang中的字符串拼接

golang中的字符串拼接

print spa 打印字符 clas 導入 pre 支持 基本 不可變

go語言中支持的字符串拼接的方法有很多種,這裏就來羅列一下

常用的字符串拼接方法

1.最常用的方法肯定是 + 連接兩個字符串。這與python類似,不過由於golang中的字符串是不可變的類型,因此用 + 連接會產生一個新的字符串對效率有影響。

s1 := "字符串"
s2 := "拼接"
s3 := s1 + s2
fmt.Print(s3) //s3 = "打印字符串"

2.第二種方法使用sprintf函數,雖然不會像直接使用 + 那樣產生臨時字符串。但是效率也不高

s1 := "字符串"
s2 := "拼接"
s3 := fmt.Sprintf("%s%s", s1, s2) //s3 = "打印字符串"

3.第三種方法是用Join函數,這裏我們需要先引入strings包才能調用Join函數。Join函數會先根據字符串數組的內容,計算出一個拼接之後的長度,然後申請對應大小的內存,一個一個字符串填入,在已有一個數組的情況下,這種效率會很高,如果沒有的話效率也不高。

//需要先導入strings包
s1 := "字符串"
s2 := "拼接"
//定義一個字符串數組包含上述的字符串
var str []string = []string{s1, s2}
//調用Join函數
s3 := strings.Join(str, "")
fmt.Print(s3)

4.第四個方法是調用buffer.WriteString函數,這種方法的性能就要大大優於上面的了。

//需要先導入bytes包
s1 := "字符串"
s2 := "拼接"
//定義Buffer類型
var bt bytes.Buffer
向bt中寫入字符串
bt.WriteString(s1)
bt.WriteString(s2)
//獲得拼接後的字符串
s3 := bt.String()

5.第5個方法是用buffer.Builder,這個方法和上面的差不多,不過官方建議用這個,使用方法和上面基本一樣

//需要先導入Strings包
s1 := "字符串"
s2 := "拼接"
var build strings.Builder
build.WriteString(s1)
build.WriteString(s2)
s3 :
= build.String()

結論

一般對於少量的字符串拼接可以直接用+來連接,不過最好的方法還是Builder。

golang中的字符串拼接