golang 배열 array
Array 배열
-
형식
// 방법 1 var name [2]string = [2]string{"ychae", "leah"} // 방법 2 var age = [4]int{34,12,25,11} // 방법 3 pets = [3]string{"cat", "dog", "bird"}
- 배열을 생성하면서 동시에 값 초기화 {}
- 만약 별도의 값을 초기화 하지 않으면 배열의 요소 모두 0으로 초기화됨
-
[…]
- 초기화할 값의 개수에 따라 자동으로 크기가 설정됨
a := [...]int{1,2,3,4,5} b := [...]int{ 1, 2, 3, 4 }
특징
-
요소들은 담긴 순서에 따라 index 값이 부여됨 (0부터)
-
길이가 고정되어 있음
- 인덱스 범위를 넘어선 개수로 값을 초기화 하면 에러
a := [5]int{1,2} // 길이가 5로 고정되어 있어서 출력하면 [1 2 ]
-
배열을 다른 배열 변수에 대입하면, 배열이 복사되어 대입
- 배열 변수는 배열 전체를 뜻하고, 첫 번째 요소의 포인터 값이 아님!!
- 배열 b 에 배열 a을 대입하면 a의 값을 복사한 서로 다른 배열
다차원 배열 선언
-
자료형 앞 대괄호를 여러 번 사용하면 다차원 배열을 만들 수 있음
-
ex) 2차원 배열
a := [2][2]int{ {1,2}, {3,4} }
값 가져오기, 변경하기
-
담긴 순서에 따라 인덱스 값이 부여됨 (0 부터)
-
배열의이름[index값] 으로 해당 위치의 요소 값을 가져올 수 있음
a := [2]int{1,2} print(a[0]) // 1 print(a[1]) // 2
-
요소 값을 변경
a[0] = 3 print(a) // [3 2]
range
-
for 인덱스, 값 := range 배열{}
-
for 에 range 를 쓰면 배열, 슬라이스, 맵 등등의 요소들을 순회할 수 있음
a := [3]string{"a", "b","c"} for i, value := range a { fmt.Println(i, value) } // 0 a 1 b 2 c 인덱스 값과 배열의 요소 값 출력
for i := range a { fmt.Println(i) } // 0 1 2 인덱스 값 출력
for _, value := range a { fmt.Println(value) } // a b c 인덱스 값 생략 ( _ ) 배열 요소 값 출력
Comments