Один большой массив может удерживаться сразу несколькими маленькими строками. В цепочке a := big[:10], затем b := a[:2] оба ссылаются на big, и strings.Clone(a) не отвязывает b. Реализуйте detachPair: верните первые 10 байт и первые 2 байта независимыми копиями.
- Задача
- Решение
- Обсуждение
DetachPair: клонировать каждый кусок
GolangРешение
func detachPair(big string) (string, string) {
a := big[:10]
b := a[:2]
return strings.Clone(a), strings.Clone(b)
}