30. 배열의 요소를 순차적으로 방문하기
안녕하세요. 언제나 휴일입니다.
이전 게시글에서는 배열을 선언하는 방법을 살펴보았죠. 이번 게시글에서는 배열의 요소를 순차적으로 방문하는 방법을 알아보기로 합시다.
배열의 요소를 순차적으로 방문하는 방법 중에 배열의 원소 개수를 구한 후에 인덱스를 이용하여 순차적으로 방문하는 방법이 있습니다. 이전 게시글에서 소개했듯이 배열의 원소 개수를 구할 때는 len 함수를 사용합니다.
len(배열명)
다음처럼 배열 이름을 len 함수에 입력 인자로 전달하면 배열의 원소 개수를 얻어올 수 있습니다.
arr := [5]int{12, 34, 23, 56, 34}
var length int
length = len(arr)
그리고 인덱스를 0에서 length보다 작으면 반복하여 각 원소에 접근할 수 있겠죠.
for i := 0; i < length; i++ {
fmt.Println(i, ":", arr[i])
}
다음은 len 함수로 배열의 원소 개수를 구하여 for 반복문에서 순차적으로 원소들의 값을 출력하는 예제 소스 코드입니다.
실행 결과는 다음과 같습니다.
0 : 12
1 : 34
2 : 23
3 : 56
4 : 34
그리고 for문에서 배열의 각 원소에 원소를 순차적으로 접근하기 위한 방법으로 range 키워드를 제공하고 있습니다.
인덱스변수, 값변수:= range 배열명
"range 배열명"의 연산 결과는 두 개의 값을 반환합니다. 첫번째 값은 인덱스이며 두번째 값은 원소의 값입니다. 다음은 range 키워드를 이용하여 배열의 원소를 순차적으로 접근하여 출력하는 예제 소스 코드입니다.
실행 결과는 다음과 같습니다.
0 : 12
1 : 34
2 : 23
3 : 56
4 : 34
만약 "range 배열명"의 연산 결과를 하나의 변수에 대입하면 인덱스만 얻을 수 있습니다.
실행 결과는 다음처럼 인덱스만 출력합니다.
0
1
2
3
4
만약 인덱스를 생략하고 원소 값만을 얻고자 한다면 인덱스 변수 대신 언더 바(_)를 사용하세요.
_, 값변수:= range 배열명
실행 결과는 다음과 같습니다.
12
34
23
56
34
앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요.
2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다.
'언어 자료구조 알고리즘 > 구글 Go' 카테고리의 다른 글
[구글 Go 하자] 35. 배열의 대입 연산은 값 복사, 슬라이스는 참조 (0) | 2016.12.17 |
---|---|
[구글 Go 하자] 34.슬라이스도 초기 값을 설정할 수 있어요. (0) | 2016.12.17 |
[구글 Go 하자] 33. 슬라이스가 꽉 찰 때 append 함수를 사용하면 알아서 늘려줘요. (0) | 2016.12.17 |
[구글 Go 하자] 32. 슬라이스에 append 함수로 순차 보관 (0) | 2016.12.17 |
[구글 Go 하자] 31. 동적 배열, 슬라이스 기초 (0) | 2016.12.17 |
[구글 Go 하자] 29. 구글 Go 언어, 배열 기초 (0) | 2016.10.13 |
[구글 Go 하자] 28. 구글 Go 언어 선택문은 switch (0) | 2016.10.12 |
[구글 Go 하자] 27. Go 언어 반복문은 for 문, 반복문 탈출은 break (0) | 2016.10.11 |
[구글 Go 하자] 26. 엄격한 폼을 요구하는 if 조건문 (0) | 2016.10.08 |
[구글 Go 하자] 25. 표준 입력 함수 Scanln, Scan, Scanf 사용하기 (0) | 2016.10.03 |