🔥 For 문에서 생략 가능한 문

166자
3분

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

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

위의 코드에서는 초기문과 후처리문이 생략되었네요. 초기문은 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 언어에서는 초기문과 후처리문을 생략할 수 있어 코드를 더욱 간결하게 작성할 수 있답니다. 하지만 코드의 가독성을 위해서는 상황에 맞게 초기문과 후처리문을 사용하는 것이 좋겠죠?

YouTube 영상

채널 보기
5편, B-Tree 내부 노드에서 키를 삭제할 때 정렬 규칙을 지키는 방법
Trie 자료구조 완전 정복 - 개념부터 시각화까지 | Trie 자료구조 이야기
AI는 왜 수백 차원의 벡터를 사용할까? 고차원 공간과 행렬 | 선형대수학
Trie 자료구조 파이썬 구현: Search와 Starts With 연산 | Trie 자료구조 이야기
3편, B-Tree 탐색 프로세스: 수백 개의 갈림길에서 데이터를 찾는 법
AI에서 고차원 임베딩이 무엇일까?
트라이(Trie) 자료구조: 파이썬으로 삽입(Insert) 연산 구현하기 | Trie 자료구조 이야기
BTree 노드의 구조는?