언어 자료구조 알고리즘/구글 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 로 옮길 예정입니다.

반응형