여름의 서재

[Go 기초] 배열 (Array) 본문

Skill/Golang

[Go 기초] 배열 (Array)

엉아_ 2022. 4. 13. 14:56
728x90
배열

 

배열의 선언은 "var 변수명 [배열크기] 데이타타입" 과 같이 하는데, 배열크기를 데이타타입 앞에 써 주는 것이 C, Java 같은 다른 언어들과 다르다. Go에서 배열의 배열크기는 Type을 구성하는 한 요소이다. 즉, [3]int와 [5]int는 서로 다른 타입으로 인식된다. 배열이 선언된 후에 각 배열의 요소를 인덱스를 사용하여 읽거나 쓸 수 있다.

package main
 
func main() {
    var a [3]int  //정수형 3개 요소를 갖는 배열 a 선언
    a[0] = 1
    a[1] = 2
    a[2] = 3
    println(a[1]) // 2 출력
}

 

배열을 정의할 때, 초기값을 설정할 수도 있다. 초기값은 "[배열크기] 데이타타입" 뒤에 { } 괄호를 두고 초기값을 순서대로 적으면 된다. 즉, 위 예제의 배열 초기화를 다음과 같이 할 수 있다. 만약 초기화 과정에서 [...] 를 사용하여 배열크기를 생략하면 자동으로 초기화 요소 숫자만큼 배열크기가 정해진다.

var a1 = [3]int{1, 2, 3}
var a2 = [...]int{1, 2, 3} //배열크기 자동으로

 

Go 언어는 다차원 배열을 지원한다. 다차원 배열은 배열크기 부분을 복수 개로 설정하여 선언한다.

var multiArray [3][4][5]int  // 정의
multiArray[0][1][2] = 10     // 사용

 

다차원 배열의 초기화는 단차원 배열의 초기화와 비슷하다. 다만, 다차원이므로 배열 초기값 안에 다시 배열값을 넣는 형태를 띤다. 즉, 아래 예제에서 보듯이, 2개의 행과 3개의 열을 이루는 배열이 초기화되었는데, 1행이 {1,2,3} 처럼 묶여서 표현되고 있다.

func main() {
    var a = [2][3]int{
        {1, 2, 3},
        {4, 5, 6},  //끝에 콤마 추가
    }
    println(a[1][2])
}

 

 

 

출처: http://golang.site/go/article/12-Go-%EC%BB%AC%EB%A0%89%EC%85%98---%EB%B0%B0%EC%97%B4

'Skill > Golang' 카테고리의 다른 글

[Go 기초] 맵 (Map)  (1) 2022.04.13
[Go 기초] 슬라이스 (Slice)  (0) 2022.04.13
[Go 기초] 클로저  (0) 2022.04.13
[Go 기초] 함수  (0) 2022.04.13
[Go 기초] 조건문 & 반복문  (0) 2022.04.13
Comments