반복문과 조건문 만 제대로 익혀도 구구단 정도의 간단한 문제는 간단하게 풀 수 있게 된다.
오늘은 Go언어에서 반복문에는 어떤 특징이 있는지 잘 정리해 보자.
Go의 for
Go언어 반복문의 특징은 while문이 없다는 점이다.
while문의 기능을 for문으로 구현할 수 있기 때문에 반복문은 for문만 기억하면 된다.
while문을 자주 사용해서 불편할 것 같지만, 반복문을 사용하기 위해서 한 가지 문법만 기억하면 된다는 점은 마음에 들었다.
아래 코드는 for문의 가장 기본적인 예제를 만들어봤다.
package main
import "fmt"
func main() {
var number int
fmt.Print("정수 한 개를 입력해 주세요 : ")
fmt.Scanf("%d", &number)
for i := 0; i < number; i++ {
fmt.Printf("%d번 반복하는 반복문 입니다.\n", number)
}
}
C문법이랑 많이 비슷하다. 변수 i를 따로 선언해주지 않아도 이 전 글에서 공부했던 'Sort Assignment Statement'를 사용하면 좀 더 간단하게 반복문을 구현할 수 있다.
Go언어의 for문에서는 C언어보다 다양한 기능을 제공한다.
조건식만 사용하는 for
package main
import "fmt"
func main() {
num := 5
for num > 0 {
fmt.Print("5번 반복하는 for문 입니다.\n")
num--
}
}
굳이 반복문을 위한 변수를 따로 사용하지 않아도, C언어의 while문처럼 사용할 수 있다.
익숙해진다면 정말 편리할 것 같다.
무한루프 동작을 하는 for
package main
import "fmt"
func main() {
for {
fmt.Print("무한루프입니다. ctrl + c로 종료시켜 주세요\n")
}
}
C언어의 "while 1"을 대신하는 구문이다.
간단해서 따로 설명할 내용이 없다.
for range문
파이썬의 "for ~ in array:"구문은 프로그래밍을 할 때 정말 편리하게 사용하는 구문이다.
배열의 내용을 순차적으로 꺼내서 반복문 안에서 사용할 수 있기 때문이다.
Go언어도 이러한 기능을 제공한다.
package main
import "fmt"
func main() {
var names [3]string = [3]string{"주성민", "주성민 여자친구", "주성민 친구"}
for idx, name := range names {
fmt.Printf("변수 %d번째 name의 값은 %s 입니다.\n", idx+1, name)
}
}
오늘은 Go언어의 반복문 "for문"에 대해 정리해봤다.
C와 Python의 for문을 합쳐놓은 강한 for문 같다는 느낌이 들었다.
이제 조건문과 분기문을 공부해보러 가보자.
*구름 edu의 바로 실행해보면서 배우는 Go Lang"을 수강 후 정리한 내용입니다.
소스코드는 깃허브 저장소를 참고!
'Computer_Language > GO' 카테고리의 다른 글
[Go] 7. Go(golang)의 배열과 슬라이스 (0) | 2019.10.01 |
---|---|
[Go] 6. Go(golang)의 조건문과 분기문 (0) | 2019.09.27 |
[Go] 4. Go(golang)의 자료형과 변수 선언 (0) | 2019.09.11 |
[Go] 3. Go(Golang)의 입력 함수 (scan) (0) | 2019.08.31 |
[Go] 2. Go(Golang)의 출력 함수 (print) (0) | 2019.08.30 |