Performance without premature obsession
Avoid + in loops for strings — use strings.Builder. Preallocate slices with make([]T, 0, n) when size is known.
Profiling: go test -bench . and net/http/pprof show where time and memory go. Measure before optimizing.
Output
Press Run to execute your code.