최근에 golang을 살펴보는 중 slice에서의 재밌는 동작을 하나 보게 되었다. 보통 동적 배열에 새로운 요소를 계속 추가하다가 요소 개수가 다 차면 두 배로 길이를 늘려주고 복사하여 기존 내용을 넣어준다고 알고 있다. Go에서도 slice에 대한 내용 중 비슷하게 두배로 늘려준다는 내용을 발견했다. 하지만 재밌는 점은 실제 1000개의 요소를 slice에 append하면서 append한 결과의 slice capacity를 보니 2의 승수를 따르지 않는 구간이 나타난다는 점이었다. 내 예상대로면 0짜리 capacity에 새롭게 요소를 넣어주는 동작을 1000번 반복한다면 아래와 같이 slice의 capacity를 늘려주는 동작을 할 것이라고 예상했다. 1 2 4 8 16 64 128 256 51..