>  기사  >  백엔드 개발  >  golang 배열은 무엇을 저장하나요?

golang 배열은 무엇을 저장하나요?

(*-*)浩
(*-*)浩원래의
2019-12-31 10:35:582005검색

golang 배열은 무엇을 저장하나요?

배열은 동일한 유형의 데이터로 구성된 일련의 모음을 의미합니다. 배열에 포함된 각 데이터를 배열 요소라고 합니다. 이 유형은 int, string 등과 같은 기본 유형이거나 사용자 정의 유형일 수 있습니다.                                                                                                                                                                                (추천 학습: go

숫자 배열에 포함된 요소의 수를 배열의 길이라고 합니다. Golang에서 배열은 고정 길이 데이터 유형이고 배열의 길이는 유형의 일부입니다. 즉, [5]int와 [10]int는 두 가지 다른 유형입니다.

Golang 배열의 또 다른 특징은 메모리 사용의 연속성입니다. 즉, 배열의 요소가 연속적인 메모리 주소에 할당되므로 배열 요소의 인덱싱이 매우 빠릅니다.

Golang 배열의 특징

Golang 배열의 특징을 다음 세 가지로 요약할 수 있습니다. # 🎜🎜#

고정 길이: 이는 배열이 늘어나거나 줄어들 수 없음을 의미합니다. 배열을 확장하려면 새 배열을 만들고 원래 배열의 요소를 새 배열에 복사하면 됩니다.

Memory contiguous: 즉, 캐시에 더 오랫동안 보관할 수 있고 검색 속도도 더 빠르다는 의미이며, 매우 효율적인 데이터 구조입니다. 이는 또한 배열의 요소를 숫자로 인덱싱할 수 있음을 의미합니다(arr[index]).

고정 유형: 고정 유형은 각 배열 요소가 저장할 수 있는 데이터 종류와 각 요소가 저장할 수 있는 데이터 바이트 수를 제한하는 것을 의미합니다.

배열은 고정 길이 데이터 유형이며 저장된 요소의 길이와 데이터 유형은 배열이 선언될 때 결정되며 변경할 수 없습니다. 더 많은 요소를 저장해야 하는 경우 먼저 더 긴 배열을 만든 다음 원래 배열의 데이터를 새 배열에 복사해야 합니다.

배열이 차지하는 메모리는 지속적으로 할당됩니다. 예를 들어 5개의 정수 요소를 포함하는 배열을 만듭니다.

arr1 := [5]int{10,20,30,40,50}
#🎜🎜 #

메모리의 배열 구조는 다음 그림과 유사합니다.

golang 배열은 무엇을 저장하나요?지속적인 메모리로 인해 CPU는 더 오래 사용되는 데이터를 캐시할 수 있습니다. 그리고 메모리가 연속적일 때 인덱스를 계산하는 것은 매우 쉽습니다. 이는 배열의 모든 요소를 ​​빠르게 반복할 수 있음을 의미합니다.

그 이유는 배열의 각 요소가 동일한 유형을 가지며 연속적으로 할당되기 때문에 배열의 유형 정보가 요소에 액세스할 때마다 메모리에서 이동해야 하는 거리를 제공할 수 있기 때문입니다. , 배열의 모든 요소에 대한 고정 색인을 생성할 수 있으며 매우 빠릅니다!

위 내용은 golang 배열은 무엇을 저장하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.