배열은 같은 타입의 데이터들로 이루어진 타입이다. 배열을 이루는 각 값은 요소라고 하고 요소를 가리키는 위치 값을 인덱스라고 한다.
배열은 같은 타입의 여러 데이터를 하나의 변수로 효과적으로 사용할 수 있게 해준다.
배열은 데이터 타입 앞에 [] 를 붙여 만든다.
var nums [5]int // int 타입 요소 5개 생성
초기값을 위처럼 지정하지많으면 각 타입의 기본값으로 자동적으로 초기화 된다. (int = 0 , float 0.0)
days := [3]string("monday", "sunday")
이렇게 초기값을 넣어주면 앞 인덱스부터 값이 자동적으로 들어간다.
배열의 갯수는 상수로 써서 넣어주는것이 옳다.
var nums := [...]int(10,20,30,40)
[...]를 해주면 요소의 값을 지정하지 않고 넣을 수 있다. 이때 요소의 갯수가 결정되는 것은 뒤에 오는 초기화 갯수에 따른다.
for 반복문에서 range 키워드를 시용하면 배열 요소를 순회할 수 있다.
for i, v := range {} // i 인덱스, v 요소
배열을 선언하면 컴퓨터는 연속된 메모리 공간을 확보한다. 컴퓨터가 인덱스에 해당하는 요소를 찾아가는 방법은 다음과 같다.
요소위치 = 배열시작주소 + (인덱스 x 타입 크기)