I recently found myself forking strings.SplitN to take a destination buffer, to avoid
the slice allocation.
I called it AppendSplitN, with append semantics. (like the Append funcs in
http://golang.org/pkg/strconv/)
Maybe worth putting in the strings package, although I expect the usual reservations.