두 개 이상의 변수를 모아 놓은 것을 '컬렉션'
배열을 포함한 컬렉션은 다수의 데이터를 저장하고 처리하는 경우에 유용하다!
Go언어에서의 배열은 정적!
고정된 배열 크기 안에 동일한 데이터를 연속적으로 저장할 수 있다는 것!
그래서 크기를 동적으로 증가시키거나 부분 배열을 발췌하는 등의 기능을 가지고 있지 않다.
배열의 선언은 var 배열이름 [배열크기]자료형 형식
배열 크기를 데이터 타입 앞에 쓰는 것은 C언어와 Java 같은 다른 언어들과 다르다!
Go언에에서는 배열의 크기는 자료형을 구성하는 하나의 요소일 뿐!
따라서, [3]int와 [5]int는 string과 float32처럼 타입 자체가 다른 것입니다.
배열이 선언되면 배열의 요소를 인데스를 사용하여 읽거나 쓸수가 있다.!
코드
package main import "fmt" func main() { var arr1 [5]int //길이가 5인 int형 배열 arr1을 선언 fmt.Println(arr1) //숫자를 선언하지 않고 출력해보기 arr1 = [5]int{1, 2, 3, 4, 5} //배열 초기화 fmt.Println(arr1, arr1[0], arr1[4]) //배열 전체와 인덱스에 저장된 값들 출력해보기 arr2 := [4]int{4, 5, 6, 7} //:= 를 이용해 선언 arr2[0] = 32 //인덱스를 이용해 값을 초기화 fmt.Println(arr2) //arr2 전체 출력해보기 var arr3 = [...]int{9, 8, 7, 6} //[...]을 이용한 배열 크기 자동 설정 fmt.Println(arr3, len(arr3)) //arr3 전체와 배열 크기 출력해보기 }
출력
[0 0 0 0 0] [1 2 3 4 5] 1 5 [32 5 6 7] [9 8 7 6] 4
len()
배열의 크기를 자동으로 설정 [...]
이 후에 크기를 바꿀 수 있는 것은 아니라는 것을 주의!코드
package main
>
import "fmt"
>
func main() {
var a = [3][3]int{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}, //3x3배열 초기화
}
>
fmt.Println(a[1][2]) //2행 3열의 값 출력
// 인덱스는 0, 1, 2 순으로!
}
출력
6