連接字符串這么簡單,還需要學嗎?確實,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() 方法將緩沖轉換為字符串。