16.2 誤用字符串
當需要對一個字符串進行頻繁的操作時,謹記在go語言中字符串是不可變的(類似java和c#)。使用諸如a += b
形式連接字符串效率低下,尤其在一個循環內部使用這種形式。這會導致大量的內存開銷和拷貝。應該使用一個字符數組代替字符串,將字符串內容寫入一個緩存中。例如以下的代碼示例:
var b bytes.Buffer
...
for condition {
b.WriteString(str) // 將字符串str寫入緩存buffer
}
return b.String()
注意:由於編譯優化和依賴於使用緩存操作的字符串大小,當循環次數大於15時,效率纔會更佳。
鏈接
- 目錄
- 上一節:誤用短聲明導致變量覆蓋
- 下一節:發生錯誤時使用defer關閉一個文件