16.2 誤用字符串

當需要對一個字符串進行頻繁的操作時,謹記在go語言中字符串是不可變的(類似java和c#)。使用諸如a += b形式連接字符串效率低下,尤其在一個循環內部使用這種形式。這會導致大量的內存開銷和拷貝。應該使用一個字符數組代替字符串,將字符串內容寫入一個緩存中。例如以下的代碼示例:

var b bytes.Buffer
...
for condition {
    b.WriteString(str) // 將字符串str寫入緩存buffer
}
    return b.String()

注意:由於編譯優化和依賴於使用緩存操作的字符串大小,當循環次數大於15時,效率纔會更佳。

鏈接

results matching ""

    No results matching ""