Go 언어에서 반복문을 사용할 때, 데이터 컬렉션을 순회하거나 특정 동작을 여러 번 수행할 수 있는데, for
문과 range
키워드를 활용하여 간편하게 작성할 수 있습니다.
range
키워드는 다양한 데이터 구조체를 순회하며 요소를 하나씩 반환할 수 있습니다. 이번 포스트에서는 Go 언어의 for
문에서 range
를 활용하는 방법에 대해 살펴보겠습니다.
배열 또는 슬라이스 순회하기
아래의 예제는 배열 또는 슬라이스를 순회하면서 각 요소를 출력하는 간단한 코드입니다.
package main
import "fmt"
func main() {
arr := []int{1, 2, 3, 4, 5} // 슬라이스 선언
for index, value := range arr {
fmt.Printf("인덱스: %d, 값: %d\n", index, value)
}
}
위 코드에서 range
키워드는 배열(배열 또는 슬라이스)의 각 요소를 순회하면서, 순회 중인 요소의 인덱스와 값을 index
와 value
변수에 할당합니다.
맵 순회하기
맵을 순회할 때에도 range
키워드를 사용하여 각 키와 값 쌍에 접근할 수 있습니다.
package main
import "fmt"
func main() {
mp := map[string]int{"one": 1, "two": 2, "three": 3} // 맵 선언
for key, value := range mp {
fmt.Printf("키: %s, 값: %d\n", key, value)
}
}
위 코드에서 range
키워드를 사용하여 맵의 각 키와 값에 순차적으로 접근하고, key
와 value
변수에 할당하여 활용할 수 있습니다.
문자열 순회하기
문자열을 순회하려면, 문자열을 룬(rune
)으로 분리한 후에 range
를 활용할 수 있습니다.
package main
import "fmt"
func main() {
str := "Hello, world!" // 문자열 선언
for index, char := range str {
fmt.Printf("인덱스: %d, 문자: %c\n", index, char)
}
}
위 코드에서는 range
를 사용하여 문자열을 룬 단위로 순회하며, 각 룬의 인덱스와 값을 출력합니다.
range
키워드를 활용하여 다양한 데이터 구조체를 순회하면 코드를 간결하게 작성할 수 있고, 반복 작업을 보다 효율적으로 처리할 수 있습니다.
이상으로 Go 언어에서 for
문과 range
키워드를 활용하여 다양한 데이터 구조체를 순회하는 방법에 대해 알아보았습니다.
참고 문헌: https://gobyexample.com/range