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
break는 switch 문이나 select 문에도 사용할 수 있다. break 키워드를 만나면 가장 가까운 블록을 빠져나간다.