더북(TheBook)

2.3.3 for

보통 다른 언어에서는 특정 횟수만큼 반복할 때 for 문을 사용하고, 특정 조건에 만족할 때까지 반복할 때 while 문을 쓴다. 하지만 Go에서는 모든 반복문을 for 문으로 작성한다.

for 초기화구문; 조건식; 후속작업 {
    ...
}

초기화 구문과 후속 작업은 생략할 수 있다. 초기화 구문, 조건식, 후속 작업은 세미콜론으로 구분한다. 반복문이 시작될 때 초기화 구문을 수행하고 조건식을 확인한 다음, 조건식이 true가 될 때까지 내부 코드를 반복하여 수행한다. 각 반복 작업 후에는 후속 작업을 수행한다. 초기화 구문에는 주로 for 문 내에서 사용할 변수를 선언한다.

특정 횟수만큼 반복하는 작업은 다음과 같이 작성한다.

for i := 0; i < COUNT; i++ {
    ...
}

초기화 구문과 후속 작업은 생략할 수도 있다.

for 조건식 {
    ...
}

이때는 조건식이 true가 될 때까지 내부 코드를 반복하는데, 보통 다른 언어의 while 문처럼 동작한다. Go에는 do-while 형태를 표현하는 방법이 없어서 이와 같이 작성한다.

때에 따라서는 조건식마저 생략할 수 있다. 조건식을 생략하면 다음과 같은 형태가 된다.

for {
    ...
}

이렇게 작성하면 for 문 내부의 코드를 무한 반복한다.

 

break와 continue

for 문을 강제로 종료해야 할 때는 break 키워드를 사용한다. 현재 수행하는 반복 작업을 건너뛰고 다음 반복 작업을 수행해야 할 때는 continue 키워드를 사용한다.

for {
    i = i - 1
  
    ...
  
    if i < 0 {
        break
    }
    if i%2 == 0 {
        continue
    }
}

Note

breakswitch 문이나 select 문에도 사용할 수 있다. break 키워드를 만나면 가장 가까운 블록을 빠져나간다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.