"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > GO \의 슬라이스 확대 알고리즘은 어떻게 작동합니까?

GO \의 슬라이스 확대 알고리즘은 어떻게 작동합니까?

2025-03-22에 게시되었습니다
검색:837

How does Go\'s Slice Enlargement Algorithm Work?

슬라이스 확대 알고리즘

슬라이스에 요소를 추가 할 때 용량을 확장해야 할 수도 있습니다. 이 확대에 사용 된 특정 알고리즘은 GO 사양에서 명시 적으로 정의되지 않습니다.

코드 구현
https://github.com/golang/go/blob/master/src/runtime/slice.go

Append 작업에서 슬라이스를 크기 롭게하는 코드는 GO 소스 코드에서 찾을 수 있습니다. 리포지토리 :

    https://github.com/golang/go/blob/mas 배가 :
  1. 슬라이스에 요소를 추가하면 원래 길이의 두 배 이상 길이가 증가하면 새 용량은 새 길이로 직접 설정됩니다.
  2. 증분 배가 : 1024 미만의 경우 용량이 충분할 때까지 두 배가됩니다. 1024보다 큰 길이의 경우, 용량은 각 반복마다 25% 증가합니다.
용량 배가

How does Go\'s Slice Enlargement Algorithm Work?

위의 전략은 원래 슬라이스 길이를 변화시킬 수 있습니다. 또한 이러한 휴리스틱은 향후 GO 버전에서 변경 될 수 있으므로 최신 정보에 대한 최신 구현을 참조하는 것이 좋습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3