Go語言字串拼接(連線)

2020-07-16 10:04:22
連線字串這麼簡單,還需要學嗎?確實,Go 語言和大多數其他語言一樣,使用+對字串進行連線操作,非常直觀。

但問題來了,好的事物並非完美,簡單的東西未必高效。除了加號連線字串,Go 語言中也有類似於 StringBuilder 的機制來進行高效的字串連線,例如:
hammer := "吃我一鎚"

sickle := "死吧"

// 宣告位元組緩衝
var stringBuilder bytes.Buffer

// 把字串寫入緩衝
stringBuilder.WriteString(hammer)
stringBuilder.WriteString(sickle)

// 將緩衝以字串形式輸出
fmt.Println(stringBuilder.String())
bytes.Buffer 是可以緩衝並可以往裡面寫入各種位元組陣列的。字串也是一種位元組陣列,使用 WriteString() 方法進行寫入。

將需要連線的字串,通過呼叫 WriteString() 方法,寫入 stringBuilder 中,然後再通過 stringBuilder.String() 方法將緩衝轉換為字串。