배열은 동일한 유형의 데이터로 구성된 일련의 모음을 의미합니다. 배열에 포함된 각 데이터를 배열 요소라고 합니다. 이 유형은 int, string 등과 같은 기본 유형이거나 사용자 정의 유형일 수 있습니다. (추천 학습: go
숫자 배열에 포함된 요소의 수를 배열의 길이라고 합니다. Golang에서 배열은 고정 길이 데이터 유형이고 배열의 길이는 유형의 일부입니다. 즉, [5]int와 [10]int는 두 가지 다른 유형입니다.
Golang 배열의 또 다른 특징은 메모리 사용의 연속성입니다. 즉, 배열의 요소가 연속적인 메모리 주소에 할당되므로 배열 요소의 인덱싱이 매우 빠릅니다.
Golang 배열의 특징
Golang 배열의 특징을 다음 세 가지로 요약할 수 있습니다. # 🎜🎜#
고정 길이: 이는 배열이 늘어나거나 줄어들 수 없음을 의미합니다. 배열을 확장하려면 새 배열을 만들고 원래 배열의 요소를 새 배열에 복사하면 됩니다.
Memory contiguous: 즉, 캐시에 더 오랫동안 보관할 수 있고 검색 속도도 더 빠르다는 의미이며, 매우 효율적인 데이터 구조입니다. 이는 또한 배열의 요소를 숫자로 인덱싱할 수 있음을 의미합니다(arr[index]).
고정 유형: 고정 유형은 각 배열 요소가 저장할 수 있는 데이터 종류와 각 요소가 저장할 수 있는 데이터 바이트 수를 제한하는 것을 의미합니다.
배열은 고정 길이 데이터 유형이며 저장된 요소의 길이와 데이터 유형은 배열이 선언될 때 결정되며 변경할 수 없습니다. 더 많은 요소를 저장해야 하는 경우 먼저 더 긴 배열을 만든 다음 원래 배열의 데이터를 새 배열에 복사해야 합니다.
배열이 차지하는 메모리는 지속적으로 할당됩니다. 예를 들어 5개의 정수 요소를 포함하는 배열을 만듭니다.
arr1 := [5]int{10,20,30,40,50}#🎜🎜 # 메모리의 배열 구조는 다음 그림과 유사합니다.
지속적인 메모리로 인해 CPU는 더 오래 사용되는 데이터를 캐시할 수 있습니다. 그리고 메모리가 연속적일 때 인덱스를 계산하는 것은 매우 쉽습니다. 이는 배열의 모든 요소를 빠르게 반복할 수 있음을 의미합니다.
그 이유는 배열의 각 요소가 동일한 유형을 가지며 연속적으로 할당되기 때문에 배열의 유형 정보가 요소에 액세스할 때마다 메모리에서 이동해야 하는 거리를 제공할 수 있기 때문입니다. , 배열의 모든 요소에 대한 고정 색인을 생성할 수 있으며 매우 빠릅니다!
위 내용은 golang 배열은 무엇을 저장하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!