Go Lang 기초 8 - 배열(Array)
2021. 7. 28. 19:31
반응형
다른 여러 프로그래밍 언어들과 마찬가지로 Go Lang도 많은 데이터를 다루어야할 경우 사용할 수 있는 자료구조를 제공하고 있습니다.
그 대표적인 것들이 바로 배열(Array), 슬라이스(Slice), 맵(Map)입니다.
이번 시간에는 배열(Array)에 대해 알아보도록 하겠습니다.
Go Lang의 배열은 길이가 고정된 동일한 타입을 갖는 값을 순서대로 저장하는 자료구조입니다.
- Go Lang의 배열에서 인덱스는 0부터 시작합니다.
- 배열이 가지고 있는 각 값을 원소라고 하며 Go Lang의 정수형(int)과 문자열(string), 부동 소수점(float) 등 모든 타입에 대한 배열을 만들 수 있습니다.
- 배열 선언은 대괄호[]를 통해 합니다.
배열의 형태
var 변수명 [배열크기] 데이터타입
예제. 배열 만들기
package main
import "fmt"
func main() {
var singleArray [3]int = [3]int {1, 2, 3}
fmt.Println(singleArray)
}
출력결과물
[1 2 3]
위의 예제 6은 singleArray를 정수형의 3가지 원소를 가진 배열임을 선언하였고, 선언과 동시에 그 3가지 원소값을 1,2,3으로 초기값을 지정해준 예제입니다. 이처럼 배열의 초기값을 지정해주는 것을 배열 초기화라고 합니다.
대괄호[]안에 ...을 사용해 배열크기를 자동으로 지정해줄 수 있습니다.
아래의 식들은 결과적으로 동일한 의미를 나타냅니다.
var singleArray [3]int = [3]int {1, 2, 3}
var singleArray = [3]int {1, 2, 3}
var singleArray = [...]int {1, 2, 3}
singleArray 선언시에 반드시 타입을 지정해주지 않아도 되는 이유는 Go Lang이
R Value를 통해 L Value의 타입을 알 수 있는 언어이기 때문입니다.
다만,
var singleArray [3]int
까지만 지정해서 index 값을 지정해주지 않으면, 출력결과물은 [ 0 0 0 ] 이 됩니다.
예제. 다중 배열 만들기
package main
import "fmt"
func main() {
var multiArray = [2][3][4]int{
{{1, 2, 3},
{1, 2, 3},
{1, 2, 3}},
{{1, 2, 3},
{1, 2, 3},
{1, 2, 3}},
}
fmt.Println(multiArray)
}
출력결과물
[[[1 2 3 4] [1 2 3 4] [1 2 3 4]] [[1 2 3 4] [1 2 3 4] [1 2 3 4]]]
위의 예제는 1,2,3,4의 [4]배열이 [3]개 있고, 그 [3]배열이 다시 [2]개 더 있는 형태입니다.
예제. 배열 초기화
package main
import "fmt"
func main() {
var iArray = [10]int {
5: 10, 9: 23,
}
fmt.Println(iArray)
}
출력결과물
[0 0 0 0 0 10 0 0 0 23]
배열의 index는 0부터 시작되기 때문에 5번째 index에 10이라는 정수값을 초기화해주려면 4: 10을 입력해야합니다. 위의 예제에서는 5: 10, 9: 23으로 초기화했으므로 10개의 원소 중 6번째와 10번째 값에 각각 10과 23이라는 값이 지정되었음을 확인할 수 있습니다.
반응형
'IT > Develop' 카테고리의 다른 글
Go Lang 기초 10 - 맵(Map) (0) | 2021.07.28 |
---|---|
Go Lang 기초 9 - 슬라이스(Slice) (0) | 2021.07.28 |
Go Lang 기초 7 - 함수 func (0) | 2021.07.28 |
Go Lang 기초 6 - 반복문 For (0) | 2021.07.28 |
Go Lang 기초 5 - 조건문 Switch (0) | 2021.07.28 |