가장 빨리 만나는 Go 언어 Unit 17.2 continue 사용하기

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

for 반복문 사용하기

이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07

continue 사용하기

반복문에서 특정 부분 이하는 실행하지 않고 넘어가려면 continue 키워드를 사용합니다. 다음 코드는 2를 제외하고 0, 1, 3, 4를 출력합니다.

for i := 0; i < 5; i++ {
	if i == 2 {  // i가 2일 때
		continue // 아래 부분 코드를 실행하지 않고 넘어감
	}

	fmt.Println(i)
}
실행 결과
0
1
3
4

다음과 같이 continue 키워드에 레이블을 지정할 수도 있습니다(레이블 이름은 변수 이름을 짓는 규칙과 같습니다).

Loop:
	for i := 0; i < 3; i++ {     // 반복문 1
		for j := 0; j < 3; j++ { // 반복문 2
			if j == 2 {          // j가 2일 때
				continue Loop    // 아래 부분 코드를 실행하지 않고 반복문 1부터 이어서 실행
			}

			fmt.Println(i, j)
		}
	}

	fmt.Println("Hello, world!")
실행 결과
0 0
0 1
1 0
1 1
2 0
2 1
Hello, world!

중첩된 for 반복문에서 특정 부분 이하는 실행하지 않고 넘어갈 때 continue 키워드에 레이블을 지정하면 편리합니다. 이렇게 continue 키워드에 레이블을 지정하여 빠져나오면 특정 부분 이하는 실행하지 않고 레이블 바로 아래(바깥 쪽)의 for 반복문부터 이어서 실행합니다.

다음과 같이 레이블과 for 키워드 사이에 다른 코드가 있으면 안 됩니다.

Loop:
	fmt.Println("begin for loop") // 들어가면 안 되는 코드
	for i := 0; i < 3; i++ {
		for j := 0; j < 3; j++ {
			if j == 2 {
				continue Loop // 컴파일 에러. invalid continue label Loop
			}

			fmt.Println(i, j)
		}
	}

	fmt.Println("Hello, world!")

저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2015-06-01