go 언어의 for 문은 다음의 예제와 비슷하다.
for 문의 표현식은 기존처럼 조건문과 종료 조건을 사용할 수 있다.
func main() {
for i := 1; i < 10; i++ {
println(i)
}
}
결과는 다음과 같다.
1
2
3
4
5
6
7
8
9
for 문의 표현식에 종료 조건을 사용할 수 있다.
package main
import "fmt"
func main() {
i := 1
for i < 10 {
fmt.Println(i)
i++
}
}
결과는 다음과 같다.
1
2
3
4
5
6
7
8
9
또한 계산 expression은 사용할 수 없다. 다음 for문은 syntax error: i++ used as value 에러가 발생한다.
func main() {
i := 1
for i < 10 {
fmt.Println(i++)
}
}
func main() {
i := 1
for i++ < 10 {
fmt.Println(i)
}
}
무한 루프가 되려면 for 조건을 사용하지 않는다.
func main() {
for { }
}
range를 지원한다.
func main() {
numbers := []int {10, 9, 8}
for i, number := range numbers {
println(i, number)
}
}
이전 예제의 []int는 int 타입을 갖는 엘리먼트의 슬라이스(slice)이다.
그러나 다음은 동작하지 않는다.
for i := range [1..10] {
println(i)
}
for문 안에 continue, break, goto를 사용할 수 있다.
go 언어에서는 while은 지원하지 않는다.
'go lang' 카테고리의 다른 글
go 컨퍼런스 자료 (0) | 2017.09.01 |
---|---|
[golang] if 예제 (0) | 2017.08.29 |
[golang] 타입 확인하는 방법 - reflect.TypeOf (0) | 2017.08.29 |
[golang] go 언어는 not immutable 언어이다. (string 제외) (0) | 2017.08.29 |
[golang] 함수 리턴 타입에 괄호 사용하는 예제 (0) | 2017.08.29 |