strings.Clone(s) (Go 1.20+), если строки неизменяемы?Подстрока s[i:j] может разделять базовый массив с длинной строкой, не давая GC освободить его. strings.Clone(s) создаёт копию с новым базовым массивом.
При хранении маленьких подстрок из больших буферов (парсинг файлов, HTTP-заголовки) - иначе в памяти остаётся весь исходный буфер.
big := readHugeFile()
small := big[100:110] // держит ссылку на big
small = strings.Clone(small) // теперь small не держит big