golang中的字串拼接

2021-10-09 05:42:17 字數 1500 閱讀 8864

由於golang中的字串是不可變的型別,因此用 + 連線會產生乙個新的字串對效率有影響。

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

s1 :=

"hello"

s2 :=

"world"

s3 := s1 + s2

fmt.

print

(s3)

//s3 = "helloworld"

使用sprintf函式,雖然不會像直接使用 + 那樣產生臨時字串。但是效率也不高

s1 :=

"hello"

s2 :=

"world"

s3 := fmt.

sprintf

("%s%s"

, s1, s2)

fmt.

print

(s3)

//helloworld

這裡我們需要先引入strings包才能呼叫join函式。join函式會先根據字串陣列的內容,計算出乙個拼接之後的長度,然後申請對應大小的記憶體,乙個乙個字串填入,在已有乙個陣列的情況下,這種效率會很高,如果沒有的話效率也不高。

s1 :=

"hello"

s2 :=

"world"

//定義乙個字串陣列包含上述的字串

var str [

]string=[

]string

//呼叫join函式

s3 := strings.

join

(str,"")

fmt.

print

(s3)

s1 :=

"hello"

s2 :=

"world"

//定義buffer型別

var bt bytes.buffer

//向bt中寫入字串

bt.writestring

(s1)

bt.writestring

(s2)

//獲得拼接後的字串

s3 := bt.

string()

fmt.

println

(s3)

這個方法和上面第四點的差不多,不過官方建議用這個,使用方法和上面基本一樣

s1 :=

"hello"

s2 :=

"world"

var build strings.builder

build.

writestring

(s1)

build.

writestring

(s2)

s3 := build.

string()

fmt.

println

(s3)

Golang 字串拼接

字串拼接應該在程式設計過程中比較常用的操作了,在go語言中對字串的拼接有多種處理方式,以下通過例項來一一講解 這種應該是最直接最簡單的方式了。func stringplus string 複製 執行go test bench benchmem 檢視效能輸出如下 benchmarkstringplus...

golang字串拼接方式

字串拼接是字元的常見操作。在golang中,遇見了字串拼接。作為乙個長期的c程式設計師,我第一反應是 字串拼接函式strcat,但發現golang並無字串拼接函式。我想起了最簡單的方法,通過 操作符進行字串拼接。但我查了相關資料後發現 golang中的string型別也是唯讀且不可變的 因此,這種拼...

golang 幾種字串的拼接方式

最近在做效能優化,有個函式裡面的耗時特別長,看裡面的操作大多是一些字串拼接的操作,而字串拼接在 golang 裡面其實有很多種實現。1.直接使用運算子func benchmarkaddstringwithoperator b testing.b golang 裡面的字串都是不可變的,每次運算都會產生...