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 로 옮길 예정입니다.
'언어 자료구조 알고리즘 > 구글 Go' 카테고리의 다른 글
[구글 Go 하자] 32. 슬라이스에 append 함수로 순차 보관 (0) | 2016.12.17 |
---|---|
[구글 Go 하자] 31. 동적 배열, 슬라이스 기초 (0) | 2016.12.17 |
[구글 Go 하자] 30. 배열의 요소를 순차적으로 방문하기 (0) | 2016.10.14 |
[구글 Go 하자] 29. 구글 Go 언어, 배열 기초 (0) | 2016.10.13 |
[구글 Go 하자] 28. 구글 Go 언어 선택문은 switch (0) | 2016.10.12 |
[구글 Go 하자] 26. 엄격한 폼을 요구하는 if 조건문 (0) | 2016.10.08 |
[구글 Go 하자] 25. 표준 입력 함수 Scanln, Scan, Scanf 사용하기 (0) | 2016.10.03 |
[구글 Go 하자] 24. 표준 출력 함수 Println, Print, Printf 사용하기 (0) | 2016.06.03 |
[구글 Go 하자] 23. 다양한 대입 연산자, 좌항에 상수는 올 수 없어요. (0) | 2016.06.01 |
[구글 Go 하자] 22. 쉬프트 연산은 비트 단위로 자리를 이동합니다. (0) | 2016.06.01 |