가장 빨리 만나는 Go 언어 Unit 17.1 break 사용하기

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

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

2015-06-01