Go 언어

본문 바로가기
사이트 내 전체검색


Go 언어
Go 언어

4. break , continue 사용하기

페이지 정보

작성자 관리자 댓글 0건 조회 3,250회 작성일 19-03-11 08:24

본문

4. break , continue 사용하기

1. break 사용하기


for 문에 아무것도 설정하지 않으면 무한루프가 된다.

이때 반복문을 중단하려면 중괄호 블록 안에서 조건을 정하고 break 문을 사용하면 된다.

증감식도 중괄호 블록안에 설정한다.


package main

import "fmt"

func main() {

 i := 0
 for {

  if i > 4 { // i가 4가 되는 순간

   break  // 반복문이 중단됩니다.

  }

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

 }

} 


break 문에 레이블을 지정할 수 도 있다.


package main

import "fmt"

func main() {
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!")

} 

중첩된 for 반복문에서 빠져나올 때 break 문에 레이블을 지정하면 편리하다.

이렇게 빠져나오면 모든 for 반복문을 더이상 실행하지 않고 완전히 중단한다.


다음과 같이 레이블과 for 문 사이에 다른 코드가 있으면 에러가 발생한다.


package main

import "fmt"

func main() {
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!")

} 


2. continue 사용하기


반복문에서 특정 부분이하는 실행하지 않고 넘어가려면 continue 문을 사용한다.


다음 코드는 2를 제외하고 0, 1, ,3, 4를 출력한다.


package main

import "fmt"

func main() {

 for i := 0; i < 5; i++ {

  if i == 2 {  // i가 2일 때

   continue // 아래 부분 코드를 실행하지 않고 넘어감

  }

  fmt.Println(i)

 }

}


continue 문에 레이블을 지정할 수도 있다.



package main

import "fmt"

func main() {
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!")

} 


이렇게 continue 문에 레이블을 지정하여 빠져나오면 특정 부분이하는 실행하지 않고 레이블 바라 아래의 for 문 부터 이어서 실행한다.




댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.