Маленький срез держит в памяти весь исходный массив. Реализуйте clip: верните первые n байтов строки как новую независимую строку (string([]byte(s[:n]))), после которой исходник можно освободить. Отличие от s[:n] — копирование данных.
- Задача
- Решение
- Обсуждение
Clip: независимый кусочек
GolangРешение
func clip(s string, n int) string {
return string([]byte(s[:n]))
}