언어 자료구조 알고리즘/구글 Go

[구글 Go 하자] 27. Go 언어 반복문은 for 문, 반복문 탈출은 break

언제나휴일 2016. 10. 11. 18:07
반응형

27. Go 언어 반복문은 for문, 반복문 탈출은 break



안녕하세요. 언제나 휴일입니다.

이번에는 Go언어의 반복문을 알아볼게요. Go언어에서 제공하는 반복문은 for 문이예요. while 문이나 do while 문을 제공하지 않습니다.


for 초기식; 조건식;조건 변화식{

반복 수행할 구문

}


프로젝트를 생성하여 1부터 100까지 정수의 합계를 계산하는 코드를 표현해 보아요.



실행 결과

1부터 100까지 정수 합계: 5050


for문에서 초기 구문을 지정할 때 i:=1처럼 표현하여 for문 내에서만 사용 가능하게 할 수 있어요.

for i := 1; i <= 100; i++ {

for문도 if문처럼 엄격한 폼을 요구합니다. for문의 중괄호를 생략할 수도 없고 중괄호의 위치를 변경할 수도 없습니다.

[그림 1] 중괄호 위치를 잘못 사용


for문에 조건식만 표현하여 C언어의 while 문처럼 표현할 수 있습니다.

for 조건식{

반복 수행할 구문

}



그리고 for 키워드 뒤에 아무 표현없이 바로 중괄호가 오면 무한 루프입니다. 이 때는 break 문을 이용하여 반복문을 탈출할 수 있어요.

다음은 1부터 순차적으로 정수의 합계를 구하다 처음으로 100을 넘어서면 반복문을 탈출하여 결과를 출력하는 예제 코드입니다. 


그리고 Go 언어에서는 중첩 반복문에서 break 키워드 뒤에 레이블을 지정하여 원하는 반복문을 탈출할 수 있습니다.

다음은 이중 반복문 내부에서 정수를 입력받아 0에서 100 사이의 정수이면 입력한 정수를 합계에 더하고 100을 넘어서면 내부 반복문을 탈출하고 음수일 때는 전체 반복문을 탈출하는 예제 코드입니다. 


실행 결과

정수 입력:3

j: 0

정수 입력:4

j: 1

정수 입력:102

i: 0

정수 입력:2

j: 0

정수 입력:101

i: 1

정수 입력:2

j: 0

정수 입력:3

j: 1

정수 입력:-1

합계: 14




  앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 

2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다.

반응형