가장 빨리 만나는 Go 언어 Unit 21. 배열 사용하기

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

배열 사용하기

이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07

Go 언어에서 배열은 길이가 고정되어 있고, 다른 언어와 마찬가지로 배열의 인덱스는 0부터 시작합니다. 이제 var 키워드로 배열을 생성해보겠습니다.

  • var 배열명 [길이]자료형
var a [5]int // int형이며 길이가 5인 배열 선언

a[2] = 7     // 배열의 세 번째 요소에 7 대입

fmt.Println(a) // [0 0 7 0 0]

배열로 만들 자료형 앞에 [ ] (대괄호)를 붙이고 배열의 길이를 설정합니다. 이렇게 생성하면 배열의 요소는 모두 0으로 초기화됩니다. 배열의 요소에 값을 넣으려면 a[2]와 같이 대괄호에 인덱스를 설정한 뒤 값을 대입합니다.

배열을 생성하면서 값을 초기화하려면 다음과 같이 자료형 뒤에 { }를 붙이고 안에 값을 나열합니다. 배열을 선언할 때 자료형과 길이는 생략할 수 있습니다. 또한, 일반 변수와 마찬가지로 :=를 사용하여 var를 생략할 수 있습니다.

var a [5]int = [5]int{32, 29, 78, 16, 81} // int형이며 길이가 5인 배열을 선언하고 초기화
var b = [5]int{32, 29, 78, 16, 81}        // 배열을 선언할 때 자료형과 길이 생략
c := [5]int{32, 29, 78, 16, 81}           // 배열을 선언할 때 var 키워드, 자료형과 길이 생략

중괄호에서 값은 한 줄로 나열해도 되고 여러 줄로 나열해도 됩니다(여러 줄로 나열할 때는 마지막 요소에도 콤마를 붙여줍니다). 그리고 배열의 크기에 ...를 사용하면 초기화할 값의 개수에 따라 자동으로 크기가 설정됩니다.

a := [5]int{32, 29, 78, 16, 81} // 배열을 생성하면서 값을 초기화

b := [5]int{
	32,
	29,
	78,
	16,
	81, // 여러 줄로 나열할 때는 마지막 요소에 콤마를 붙임
}

c := [...]int{32, 29, 78, 16, 81} // 초기화할 요소가 5개이며 ...을 사용했으므로 
                                  // 배열 크기는 5로 설정됨

d := [...]string{"Maria", "Andrew", "Jonh"} // 초기화할 요소가 3개이며 ...을 사용했으므로 
                                            // 배열 크기는 3으로 설정됨

c := [...]int{32, 29, 78, 16, 81}는 초기화할 요소가 5개입니다. 그리고 배열의 인덱스는 0부터 시작하므로 c[0]에 32, c[1]에 29, c[2]에 78, c[3]에 16, c[4]에 81이 들어갑니다.

다차원 배열 선언하기
자료형 앞에 대괄호를 여러 번 사용하면 다차원 배열을 만들 수 있습니다. 다음은 2차원 배열을 만들고 값을 초기화합니다.

a := [3][3]int{
	{1, 2, 3},
	{4, 5, 6},
	{7, 8, 9},
}

저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2015-06-01