Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Go
- php
- nodejs
- CentOS
- fastapi
- Backbone.js
- mariadb
- Redis
- docker
- deep learning
- nginx
- Node
- AWS
- webpack
- NCP
- laravel
- linux
- React
- phpredis
- rabbitmq
- Switch
- Machine Learning
- SQL
- javascript
- python
- Redux
- Babel
- For
- 블레이드 템플릿
- 기초 수학
Archives
- Today
- Total
개발일기
Go - 배열 사용법 본문
728x90
반응형
1. 배열의 선언 및 값 초기화
동일한 자료형을 가진 데이터들을 변수의 연속적인 공간에 저장하여 사용하고자 할 때 배열을 사용한다. 배열에 값을 저장할 때는 인덱스(index)값이 매겨지는데 배열에서는 0번부터 시작하여 1번, 2번 순서로 인덱스값이 매겨지게 된다.
Go에서 배열을 사용할 때는, 다음과 같은 형식을 바탕으로 선언하고 사용한다.
배열명 := [배열 길이]배열타입{ 배열값들 }
arr := [3]int{1, 2, 3}
2. 기본 사용법
package main
func main() {
fruits := [3]string{ "메론", "망고", "자두" }
for i, v := range fruits {
println(i, v)
}
/*
다음과 같이 결과가 출력된다
0 메론
1 망고
2 자두
*/
}
위의 함수는 fruits이라는 배열을 선언과 동시에 값을 초기화한 후, 반복문을 통해 배열의 내용을 출력하는 함수이다.
여기서 유의할 점은, 배열 길이보다 많은 배열값을 추가하면 에러가 발생한다는 것이다. 배열을 선언할 때는 꼭, 배열 길이와 배열값의 개수가 일치하여야 한다.
3. 배열 크기 자동 할당
package main
func main() {
fruits := [...]string{ "메론", "망고", "자두" }
// 배열 길이를 자동으로 정해지도록 하기 위해 ... 를 사용
for i, v := range fruits {
println(i, v)
}
/*
다음과 같이 결과가 출력된다
0 메론
1 망고
2 자두
*/
}
다음과 같이 배열길이 항목에 ... 을 넣으면 배열 크기가 자동으로 정해진다. 자동으로 배열크기가 정해지는 것의 기준은 바로 초기 배열 요소의 개수에 따른다. 배열 요소의 개수가 위처럼 3개면 배열 크기가 3으로 정해지고, 요소의 개수가 5개면 배열의 크기가 5로 정해진다.
4. 다차원 배열 선언 및 초기화
package main
func main() {
arr := [2][2]int // 다차원 배열 선언
// 배열에 값 추가
arr[0][0] = 0
arr[0][1] = 1
arr[1][0] = 3
arr[1][1] = 4
}
일차원 배열을 사용할 때와 마찬가지고 배열의 길이를 선언하고 그에 따른 값을 추가하여 다차원 배열을 사용할 수 있다.
package main
func main() {
// 배열을 선언과 동시에 초기화
arr := [2][2]int{
{0, 1},
{2, 3}, // 마지막 부분에도 콤마를 넣어줘야 한다.
/*
0은 [0][0]
1은 [0][1]
2는 [1][0]
3은 [1][1]
*/
}
}
다차원 배열을 선언과 동시에 값을 초기화 할 때는, 위와 같이 각 행을 콤마로 구분하여 값을 나열한다.
유의할 점은 마지막 행을 구분하는 부분에서도 콤마를 넣어줘야 한다. 만약 마지막 부분에 콤마를 넣지 않으면 'expecting comma or }' 에러가 발생한다.
728x90
반응형
'프로그래밍 언어 > Go' 카테고리의 다른 글
Go - Map이란? (0) | 2022.03.29 |
---|---|
Go - Slice의 len과 cap (0) | 2022.03.16 |
Go - 함수의 사용법 및 응용 (0) | 2022.03.15 |
Go - for, for-range 반복문 (0) | 2022.03.14 |
Go - 조건문 if / switch (0) | 2022.03.11 |
Comments