카테고리 없음

Go ) for 반복문

코드베어 2020. 5. 12. 09:19

Go 언어는 반복문으로 for문을 사용한다. c, c++과 다르게 while 등 기타 다른 반복문은 없다.

for 초깃값; 조건식; 변화식 {
}

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

 

for 키워드에 조건식만 설정하여 c의 while문처럼 사용할 수 있다.

for 조건식 {
}

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

 

for 키워드에 조건식을 설정하지 않으면 무한 루프가 된다.

for {
// 무한 루프 발생
}

 

반복문을 빠져 나올때 break문을 사용할 수 있다.

for {
    break;
}

 

break키워드에 레이블을 지정하여 중첩된 반복문을 빠져나올 수도 있다.

Loop: // Loop 레이블을 지정
for i:=0; i<3; i++ {
	for j:=0; j<3; j++ {
    	if j == 2 {
            break Loop		// 중첩된 반복문을 빠져나옴
        }
    }
}

※ 레이블과 for 키워드 사이에 다른 코드가 있으면 컴파일 에러를 발생한다.

 

반복문에서 continue문을 통해 특정 부분 이하는 실행하지 않고 넘어갈 수 있다.

for i:=0; i<5; i++ {
    if i == 2 {
        continue
    }
}

 

continue도 레이블을 지정하여 중첩된 반복문에서 활용할 수 있다.

Loop:
for i:=0; i<3; i++ {
    for j:=0; j<3; j++ {
        if j == 2 {
            continue Loop
        }
    }
}

 

병렬 할당을 통해 반복문의 변화식에서 여러 변수를 처리할 수 있다.

for i, j:=0, 0; i<10; i, j= i+1, j+2 {
}

// 컴파일 에러 : 변화식에서 i++, j=i+1로 병렬할당을 사용하지 않았다.
for i, j:=0, 0; i<10; i++, j=i+1 {
}

for문에서 병렬할당을 하려면 변화식도 병렬할당을 해야한다. 위와 같이 i++, j=i+1로 각각 변화식을 주면 컴파일 에러가 발생한다.