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.