🔥 For 문

231자
3분

Go 언어에서는 반복문으로 for 루프만 제공합니다. 다른 언어와는 달리, Go의 for 루프는 다재다능하게 활용할 수 있어요.

기본적인 for 루프는 세미콜론(;)으로 구분된 세 부분으로 구성됩니다.

  1. 초기문: 첫 번째 반복문이 실행되기 전에 한 번만 실행되는 부분이에요.
  2. 조건식: 매 반복문 실행 전에 평가되는 부분입니다. 조건식이 true이면 반복문이 계속 실행되고, false가 되면 반복문이 종료돼요.
  3. 후처리문: 매 반복문이 끝날 때마다 실행되는 부분이에요.

초기문은 주로 변수를 선언하고 초기화하는 데 사용되며, 해당 변수는 for 문의 범위 내에서만 유효합니다.

다음은 for 루프의 예시 코드예요.

go
package main
 
import "fmt"
 
func main() {
    sum := 0
 
    // i 변수를 0으로 초기화하고, i가 10보다 작은 동안 반복합니다.
    // 매 반복마다 i를 1씩 증가시킵니다.
    for i := 0; i < 10; i++ {
        // sum에 i를 더합니다.
        sum += i
    }
 
    // 반복문이 끝난 후 sum의 값을 출력합니다.
    fmt.Println(sum)
}
 
go
package main
 
import "fmt"
 
func main() {
    sum := 0
 
    // i 변수를 0으로 초기화하고, i가 10보다 작은 동안 반복합니다.
    // 매 반복마다 i를 1씩 증가시킵니다.
    for i := 0; i < 10; i++ {
        // sum에 i를 더합니다.
        sum += i
    }
 
    // 반복문이 끝난 후 sum의 값을 출력합니다.
    fmt.Println(sum)
}
 

위 코드에서 for 루프는 다음과 같이 동작합니다.

  1. i 변수를 0으로 초기화합니다.
  2. i가 10보다 작은지 확인합니다.
    • i가 10보다 작으면 루프 본문을 실행합니다.
    • i가 10 이상이면 루프를 종료합니다.
  3. 루프 본문에서 sumi를 더합니다.
  4. 루프 본문 실행이 끝나면 i를 1 증가시킵니다.
  5. 다시 2단계로 돌아가 i가 10보다 작은지 확인하고, 조건이 만족하면 루프를 계속 실행합니다.

이 과정을 거쳐 sum에는 0부터 9까지의 합인 45가 저장되고, 최종적으로 45가 출력됩니다.

주의할 점!
C, Java, JavaScript 등 다른 언어와 달리 Go에서는 for 문의 세 부분을 감싸는 괄호()가 없고, 중괄호{}는 항상 필요합니다. 이 부분은 Go 언어의 특징 중 하나랍니다.

YouTube 영상

채널 보기
펑터 타입 클래스 | 프로그래머를 위한 카테고리 이론
커스텀 예외 필터 만들기 | NestJS 가이드
바이펑터란? | 프로그래머를 위한 카테고리 이론
NestJS 미들웨어 기초 - 클래스 기반 미들웨어와 DI | NestJS 가이드
펑터 법칙과 등식 추론 | 프로그래머를 위한 카테고리 이론
Maybe 펑터와 타입 들어올리기 | 프로그래머를 위한 카테고리 이론
미들웨어 적용과 라우팅 | NestJS 가이드
NestJS 커스텀 예외 만들기 - 에러 처리 깔끔하게 하는 법 | NestJS 가이드