Go语言高效拼接字符串
strings.Builder
Go 1.10以及以后版本使用<strong>strings.Builder</strong>,Builder在实现上有以下特点:
- 最大限度地减少内存复制。
- 零值(zero-value)可以直接使用,不需要初始化。
示例:
package main
import (
    "strings"
    "fmt"
)
func main() {
    // 此处是zero value,不需要做初始化就可以使用。
    var sb strings.Builder
    for i := 0; i < 1000; i++ {
        sb.WriteString("a")
    }
    fmt.Println(sb.String())
}bytes.Buffer
Go 1.10之前的版本使用bytes.Buffer,使用示例:
package main
import (
    "bytes"
    "fmt"
)
func main() {
    var buffer bytes.Buffer
    for i := 0; i < 1000; i++ {
        buffer.WriteString("a")
    }
    fmt.Println(buffer.String())
} 
             
             
             
             
            