🔥 For 문에서 생략 가능한 문

166자
3분

Go 언어에서 for 루프를 작성할 때는 초기문(init statement), 조건문(condition), 후처리문(post statement)을 사용하여 작성할 수 있어요. 하지만 이 중에서 초기문과 후처리문은 생략할 수 있답니다.

package main
 
import "fmt"
 
func main() {
    sum := 1    // 초기문: sum 변수를 1로 초기화합니다.
    for ; sum < 1000; {    // 조건문: sum이 1000보다 작을 때까지 반복합니다.
        sum += sum    // sum에 sum을 더하여 sum을 갱신합니다.
    }
    fmt.Println(sum)    // 최종 sum 값을 출력합니다.
}
 
go

위의 코드에서는 초기문과 후처리문이 생략되었네요. 초기문은 sum := 1로 작성되어 for 루프 밖에 위치하고 있고, 후처리문은 아예 작성되지 않았어요.

하지만 이렇게 작성해도 문제없이 잘 동작한답니다. for 루프는 sum이 1000보다 작을 때까지 계속해서 sum에 sum을 더하여 sum을 갱신하게 되죠. 이렇게 되면 sum은 1, 2, 4, 8, 16, ..., 1024 순으로 커지게 됩니다.

최종적으로 sum이 1000 이상이 되면 for 루프를 빠져나오게 되고, fmt.Println(sum)을 통해 최종 sum 값인 1024가 출력되는 거예요.

이처럼 Go 언어에서는 초기문과 후처리문을 생략할 수 있어 코드를 더욱 간결하게 작성할 수 있답니다. 하지만 코드의 가독성을 위해서는 상황에 맞게 초기문과 후처리문을 사용하는 것이 좋겠죠?