Предварительно выделите фрагмент с емкостью, поэтому append()
будет копировать меньше (или не копировать):
to := make([]string, 0, len(s.To))
for _, t := range s.To {
to = append(to, t.String())
}
Или даже лучше, не используйте append()
, но назначить отдельным элементам среза:
to := make([]string, len(s.To))
for i, t := range s.To {
to[i] = t.String()
}