Go에서 문자열의 하위 문자열을 가져 오는 경우 새 메모리가 할당되지 않습니다. 대신 하위 문자열의 기본 표현에는 원래 문자열의 데이터 포인터의 오프셋 인 데이터 포인터가 포함되어 있습니다.하위 문자열 및 Go 가비지 수집기
큰 문자열이 있고 작은 하위 문자열을 추적하려는 경우 짧은 문자열에 대한 모든 참조를 해제 할 때까지 가비지 수집기가 큰 문자열을 해제 할 수 없음을 의미합니다.
슬라이스도 비슷한 문제가 있지만 copy()를 사용하여 서브 슬라이스 복사본을 만들어 주위를 둘러 볼 수 있습니다. 문자열에 대한 비슷한 복사 작업을 인식하지 못합니다. 하위 문자열의 "사본"을 만드는 관용적이고 빠른 방법은 무엇입니까? 예를 들어
이 이동의 단점의 일종이다. 이것을 위해 make (string, foo [x : y])를 사용할 수 있어야합니다. – fuz