Sometimes you need to incrementally build a new string, i.e. character per character. In order to do this efficiently many programming languages add the so-called string builders. This allows to essentially modify an array of characters rather than recreating a new string every time. Check the official example:
package main
import (
"fmt"
"strings"
)
func main() {
var b strings.Builder
for i := 3; i >= 1; i-- {
fmt.Fprintf(&b, "%d...", i)
}
b.WriteString("ignition")
fmt.Println(b.String())
}
String() is the last step when you convert that inner structure into the actual string. Try to play with the example above and assign builder to a string variable and you see that only works when you use String() method
solved What does String() string exactly do? [closed]