🔥 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 영상

채널 보기
Trie 자료구조 파이썬 구현: Search와 Starts With 연산 | Trie 자료구조 이야기
우리가 매일 쓰는 맞춤법 검사기와 라우터 속에 숨겨진 알고리즘은? | Trie 자료구조 이야기
투영과 예측, 그리고 선형 결합 | 선형대수학
트라이(Trie)를 이용한 자동 완성 알고리즘 | Trie 자료구조 이야기
행렬의 기본 연산 - 행렬 덧셈, 스칼라 곱, 전치 | 선형대수학
스칼라 곱셈과 내적의 기하학적 의미 | 선형대수학
AI는 데이터를 어떻게 분류할까? 벡터의 거리와 KNN 알고리즘 | 선형대수학
인공지능은 세상을 어떻게 숫자로 읽는가? - 이미지, 소리 그리고 텍스트가 행렬이 되는 원리 | 선형대수학