Performance and Benchmarking Basics
String Builder Work
strings.Builder records the intent to assemble text from smaller pieces.
String Builder Work
string_builder_work.go
package main
import (
"fmt"
"strings"
)
func main() {
var repeat =
var builder strings.Builder
for i := 0; i < repeat; i++ {
builder.WriteString("go")
}
result := builder.String()
fmt.Println("repeat=", repeat)
fmt.Println("length=", len(result))
fmt.Println("result=", result)
fmt.Println("empty=", result == "")
}
package main
import (
"fmt"
"strings"
)
func main() {
var repeat =
var builder strings.Builder
for i := 0; i < repeat; i++ {
builder.WriteString("go")
}
result := builder.String()
fmt.Println("repeat=", repeat)
fmt.Println("length=", len(result))
fmt.Println("result=", result)
fmt.Println("empty=", result == "")
}
package main
import (
"fmt"
"strings"
)
func main() {
var repeat =
var builder strings.Builder
for i := 0; i < repeat; i++ {
builder.WriteString("go")
}
result := builder.String()
fmt.Println("repeat=", repeat)
fmt.Println("length=", len(result))
fmt.Println("result=", result)
fmt.Println("empty=", result == "")
}
builder
For repeated string assembly, a builder makes the work explicit and keeps appends in one place.