메뉴

문서정보

예제로 살펴보는 Go : For

Go에서는 루프를 위해서 단지 for 문만 사용 할 수 있다. 다른 언어에서 볼 수 있는 while문을 제공하지 않는다.
package main

import "fmt"

func main() {

    i := 1
    for i <= 3 {
        fmt.Println(i)
        i = i + 1
    }

    for j := 7; j <= 9; j++ {
        fmt.Println(j)
    }

    for {
        fmt.Println("loop")
        break
    }
}	
		

Go에서 for 문은 크게 3가지 형태를 가진다. 우선 하나의 조건만 가지는 경우가 있다. 8번째 줄 코드는 i가 3보다 작을 때까지 블럭문을 계속 실행 할 것이다. 루프를 한번 돌 때마다 변수 i에 +1을 하기 때문에, 3번 실행 될 것이다.

13번째 코드는 초기화, 조건, 블럭이 실행된 후 수행할 연산이 필요한 경우다. 변수 j에 7을 대입했고, 9보다 작거나 같을 경우 경우 블럭문을 실행 한다. 블럭문이 한 번 실행 될때마다 변수 j에 +1을 한다. 블럭문은 3번 실행 될 것이다. 일반적으로 가장 많이 볼 수 있는 사용 형태다.

단지 for만 사용하는 경우도 있는데, 이 경우 무한으로 실행된다. 프로그램이 살아 있는 동안에 주기적으로 어떤 일을 실행해야 할 경우 주로 사용한다.

다음 예제 : ifelse