1. Appending with +=

func join(strs ...string) string {
    var ret string
    for _, str := range strs {
        ret += str
    }
    return ret
}

2. strings.Join

s := []string{}
for i := 0; i < 1000; i++ {
	s = append(s, "a")
}
fmt.Println(strings.Join(s, ""))

3. bytes.Buffer

var buffer bytes.Buffer
for i := 0; i < 1000; i++ {
	buffer.WriteString("a")
}
fmt.Println(buffer.String())

4. Benchmark

BenchmarkJoinString-4      	20000000	       118 ns/op	      80 B/op	       0 allocs/op
BenchmarkConcatString-4    	 1000000	     41963 ns/op	  503993 B/op	       1 allocs/op
BenchmarkBuilderString-4   	200000000	         6.05 ns/op	       2 B/op	       0 allocs/op