for 반복문 사용하기

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

 

break 사용하기

for 키워드에 아무것도 설정하지 않으면 무한 루프가 됩니다. 즉, C, C++의 for (;;)처럼 동작합니다. 이때 반복문을 중단하려면 중괄호 블록안에서 조건을 정하고 break 키워드를 사용하면 됩니다. 물론 변화식도 중괄호 블록 안에서 설정합니다.

 

i := 0
for {
	if i > 4 { // i가 4가 되는 순간
		break  // 반복문이 중단됩니다.
	}

	fmt.Println(i)
	i = i + 1 // 변화식에서 조건을 변경합니다.
}

실행 결과

0
1
2
3
4

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

Loop: // Loop 레이블을 지정
	for i := 0; i < 3; i++ {           // 반복문 1
		for j := 0; j < 3; j++ {   // 반복문 2
			if j == 2 {        // j가 2일 때
				break Loop // 중첩된 반복문을 빠져나옴
			}

			fmt.Println(i, j)
		}
	}

	fmt.Println("Hello, world!")

실행 결과

0 0
0 1
Hello, world!

중첩된 for 반복문에서 빠져나올 때 break 키워드에 레이블을 지정하면 편리합니다. 이렇게 break 키워드에 레이블을 지정하여 빠져나오면 모든 for 반복문을 더 이상 실행하지 않고 완전히 중단합니다.

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

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

			fmt.Println(i, j)
		}
	}

	fmt.Println("Hello, world!")

저작권 안내

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

Published

01 June 2015