개요
이번 블로그 포스트에서는 Golang에서 for문을 사용하는 방법에 대해서 살펴보려고 합니다. 이 블로그 포스트에서 소개하는 코드는 다음 링크를 통해 확인하실 수 있습니다.
for문
Golang에서는 하나의 반복문만 존재하며, for문이 그 역할을 수행합니다. Golang에서는 while문과 같은 반복문이 존재하지 않지만, for문으로 그와 동일한 기능을 실행할 수 있습니다.
Golang에서는 다음과 같이 for문을 정의하여 사용할 수 있습니다.
for 초기화문; 조건문; 후처리 {
// 조건문이 true이면 실행
코드 블록
}
또한, 다음과 같이 초기화문을 생략할 수 있습니다.
for ; 조건문; 후처리 {
...
}
반대로, 다음과 같이 후처리를 생략하는 것도 가능합니다.
for 초기화문 ; 조건문; {
...
}
물론, 초기화문과 후처리를 동시에 생략하는 것도 가능합니다.
for ; 조건문; {
...
}
이를 다음과 같이 좀 더 간단하게 정의하여 사용할 수 있습니다.
for 조건문 {
...
}
이를 확인하기 위해 main.go 파일을 만들고, 다음과 같이 수정합니다.
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
i := 0
for ; i < 10; i++ {
fmt.Println(i)
}
for i := 0; i < 10; {
fmt.Println(i)
i++
}
i = 0
for i < 10 {
fmt.Println(i)
i++
}
i = 0
for i < 10 {
fmt.Println(i)
i++
}
}
continue와 break
Golang에서도 반복문안에서 continue와 break을 사용하여 반복문을 조절할 수 있습니다.
- continue: 후처리로 이동
- break: 반복문 종료
이를 확인하기 위해 main.go 파일을 다음과 같이 수정합니다.
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 3 {
continue
}
if i == 6 {
break
}
fmt.Println(i)
}
}
프로그램을 실행하면 다음과 같이 i가 3일 때 후처리로 이동하여, 화면에 i가 표시되지 않은 것을 알 수 있습니다. 또한, i가 6일 때, 반복문이 종료된 것을 알 수 있습니다.
# go run main.go
0
1
2
4
5
무한 루프
Golang에서는 for문을 사용하여 무한 루프를 구현할 수 있습니다. for문에서 다음과 같이 초기화문과 후처리를 생략하고, 조건에 true를 설정함으로써 무한 루프를 구현할 수 있습니다.
for true {
코드 블록
}
이를 다음과 같이 간단하게 표현할 수 있습니다.
for {
코드 블록
}
무한 루프를 확인하기 위해, 다음과 같이 main.go 파일을 수정합니다.
package main
import (
"fmt"
"time"
)
func main() {
i := 1
for {
time.Sleep(time.Second)
fmt.Println(i)
i ++
}
}
이를 실행하면, 1초에 한번씩 화면에 i를 출력하는 것을 확인할 수 있으며, 프로그램이 종료되지 않는 것을 확인할 수 있습니다.
# go run main.go
1
2
3
4
...
이렇게 프로그램이 종료되지 않고 계속 실행될 때에는, ctrl + c키를 눌러 프로그램을 종료할 수 있습니다.
완료
이것으로 Golang으로 유일한 반복문인 for문을 사용하는 방법에 대해서 알아보았습니다. 또한 for문의 초기화문과 후처리를 생략할 수 있음을 확인하였고, 무한 루프를 만드는 방법에 대해서도 살펴보았습니다.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku가 개발한 앱을 한번 사용해보세요.Deku가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.














![[심통]현장에서 바로 써먹는 리액트 with 타입스크립트 : 리액트와 스토리북으로 배우는 컴포넌트 주도 개발, 심통](https://img1c.coupangcdn.com/image/affiliate/banner/7cba8cb0601eebaf88a17a0c3cf65a63@2x.jpg)