for 문
Go 언어에서 반복문은 for
하나뿐이다. 다른 언어들과 비슷하게 for 초기값; 조건식; 증감 {...}
형식을 따른다.
초기값, 조건식, 증감식은 경우에 따라 생략할 수 있고, 초기값; 조건식; 증감
을 둘러싸는 괄호를 추가하면 에러가 발생한다.
|
|
조건식만 사용하는 for 루프
초기값과 증감식을 생략하고 조건식만 사용하면 다른 언어의 while
루프와 같게 동작한다.
|
|
무한루프
초기값, 조건식, 증감을 모두 생략하면 무한루프로 동작한다.
|
|
range 문
for range
문은 컬렉션으로 부터 한 요소씩 가져와 차례로 for
블럭 문장들을 실행한다. 다른 언어의 foreach
와 비슷하다.
for range
문은 for 인덱스, 요소값 := range 컬렉션
형태로 for
루프를 구성하는데, range
키워드 다음에 명시한 컬렉션으로부터 하나씩 요소를 반환하여 그 요소의 인덱스와 값을 for
키워드 다음 2개 변수에 각각 할당한다.
|
|
break, countinue, goto
break
: for 루프 내에서 즉시 빠져나옴continue
: 루프 중간에서 나머지 문장들을 실행하지 않고 다음 루프를 시작함goto
: 임의의 문장으로 이동
|
|
break 레이블
break
문은 보통 단독으로 사용되지만, 경우에 따라 레이블을 붙여 지정된 레이블로 이동할 수도 있다.
|
|
break
의 레이블은 현재 보통 현재 for
루프 바로 위에 적게 되는데, 현재 루프를 빠져나와 지정된 레이블로 이동하고, 동작한 break
문이 속한 for
루프 전체의 다음 문장을 실행한다.