🔥 Range에서 인덱스와 값 생략하기

202자
3분

Go 언어의 range 키워드를 사용하면 인덱스와 값을 모두 가져올 수 있지만, 필요하지 않은 경우에는 _ 를 사용하여 생략할 수 있습니다.

go
for i, _ := range pow
for _, value := range pow
 
go
for i, _ := range pow
for _, value := range pow
 

위의 코드에서 첫 번째 줄은 인덱스만 사용하고 값은 생략하는 경우이고, 두 번째 줄은 값만 사용하고 인덱스는 생략하는 경우입니다.

만약 인덱스만 필요하다면 아래와 같이 두 번째 변수를 아예 생략할 수도 있습니다.

go
for i := range pow
 
go
for i := range pow
 

이제 이를 활용한 전체 예제 코드를 살펴보겠습니다.

go
package main
 
import "fmt"
 
func main() {
	// pow라는 이름의 int 슬라이스를 길이 10으로 생성합니다.
	pow := make([]int, 10)
 
	// 인덱스만 사용하는 for 루프로 pow 슬라이스를 순회합니다.
	for i := range pow {
		// 각 인덱스의 값을 2의 i승으로 설정합니다.
		// 1 << uint(i)는 2**i와 같습니다.
		pow[i] = 1 << uint(i)
	}
 
	// 값만 사용하는 for 루프로 pow 슬라이스를 순회합니다.
	for _, value := range pow {
		// 각 값을 출력합니다.
		fmt.Printf("%d\n", value)
	}
}
 
go
package main
 
import "fmt"
 
func main() {
	// pow라는 이름의 int 슬라이스를 길이 10으로 생성합니다.
	pow := make([]int, 10)
 
	// 인덱스만 사용하는 for 루프로 pow 슬라이스를 순회합니다.
	for i := range pow {
		// 각 인덱스의 값을 2의 i승으로 설정합니다.
		// 1 << uint(i)는 2**i와 같습니다.
		pow[i] = 1 << uint(i)
	}
 
	// 값만 사용하는 for 루프로 pow 슬라이스를 순회합니다.
	for _, value := range pow {
		// 각 값을 출력합니다.
		fmt.Printf("%d\n", value)
	}
}
 

이 코드를 실행하면 아래와 같은 출력 결과를 얻을 수 있습니다.

text
1
2
4
8
16
32
64
128
256
512
text
1
2
4
8
16
32
64
128
256
512

range를 사용할 때 인덱스나 값 중 필요하지 않은 부분은 _를 사용하여 생략할 수 있다는 점을 기억하세요. 이렇게 하면 코드의 가독성을 높일 수 있답니다.

YouTube 영상

채널 보기
NestJS 커스텀 데코레이터 인자 전달 및 파이프 검증 활용법 | NestJS 가이드
NestJS 인터셉터에서 map 연산자로 응답을 변환하는 방법 | NestJS 가이드
매번 ValidationPipe 복붙하세요? NestJS 전역 파이프로 한 번에 해결하기 | NestJS 가이드
NestJS 커스텀 데코레이터, createParamDecorator 사용 | NestJS 가이드
입력을 전처리하는 Functor - Contravariant와 contramap 이해하기 | 프로그래머를 위한 카테고리 이론
존 매카시가 들려주는 인공지능의 탄생 이야기
class-validator 와 DTO | NestJS 가이드
NestJS 가드, 바이딩과 스코프 | NestJS 가이드