IMCAT.DEV
로그인 가입
Go 입문 문법

Go 제어문 (Control Statements)

Go 제어문 (Control Statements) — 초급

제어문 (Control Statements)

1. 도입 (왜 배워야 하는가)

제어문은 프로그래밍의 기본적인 요소로, 프로그램의 흐름을 결정하는 데 필수적입니다. 실무에서는 사용자의 입력이나 특정 조건에 따라 프로그램이 어떻게 동작할지를 결정해야 할 때가 많습니다. 예를 들어, 쇼핑몰 애플리케이션에서 사용자가 장바구니에 상품을 추가할 때, 상품의 재고가 충분한지 확인하고, 재고가 없다면 사용자에게 적절한 메시지를 보여줘야 합니다. 만약 제어문을 사용하지 않으면 모든 상황에 대해 일일이 코드를 작성해야 하므로 비효율적이고, 오류가 발생할 가능성도 높아집니다.

2. 핵심 개념 설명

제어문은 크게 조건문과 반복문으로 나눌 수 있습니다.

조건문

조건문은 주어진 조건이 참인지 거짓인지에 따라 코드의 실행 흐름을 변경하는 문장입니다. 가장 많이 사용되는 조건문은 if, else if, else입니다.

반복문

반복문은 특정 조건이 참일 때 코드 블록을 여러 번 실행하는 문장입니다. for, while, range 등이 있습니다.

용어설명
조건문주어진 조건에 따라 실행 흐름을 결정
반복문특정 조건이 참일 때 반복해서 실행
if조건이 참일 때 실행하는 문장
for조건에 따라 반복 실행하는 문장

3. 기본 코드 예제

가장 간단한 조건문과 반복문을 사용하는 예제를 살펴보겠습니다.

조건문 예제

package main

import "fmt"

func main() {
    age := 20

    if age >= 18 {
        fmt.Println("성인입니다.")
    } else {
        fmt.Println("미성년자입니다.")
    }
}
  • 실행 결과: 성인입니다.
  • 동작 설명:
  • - age 변수를 20으로 설정합니다. - if 조건문에서 age가 18 이상인지 확인합니다. - 조건이 참이므로 "성인입니다."가 출력됩니다.

    반복문 예제

    package main
    
    import "fmt"
    
    func main() {
        for i := 1; i <= 5; i++ {
            fmt.Println(i)
        }
    }
  • 실행 결과:
  • 1
    2
    3
    4
    5
  • 동작 설명:
  • - for 문을 사용하여 1부터 5까지 반복합니다. - i 변수를 1로 초기화하고, i가 5 이하일 때까지 반복합니다. - 매 반복마다 i의 값을 출력합니다.

    4. 실전 활용 예제

    1. 쇼핑몰 장바구니에서 재고 확인하기

    사용자가 장바구니에 상품을 추가할 때 재고를 확인하는 예제입니다.

    package main
    
    import "fmt"
    
    func main() {
        stock := 10
        quantity := 3
    
        if quantity <= stock {
            fmt.Printf("%d 개의 상품이 장바구니에 추가되었습니다.\n", quantity)
        } else {
            fmt.Println("재고가 부족합니다.")
        }
    }
  • 상황 설명: 사용자가 3개를 요청했을 때, 재고가 10개이므로 장바구니에 추가됩니다.
  • 2. 점수에 따른 등급 판별

    학생의 점수에 따라 학점을 정하는 예제입니다.

    package main
    
    import "fmt"
    
    func main() {
        score := 85
    
        if score >= 90 {
            fmt.Println("A")
        } else if score >= 80 {
            fmt.Println("B")
        } else if score >= 70 {
            fmt.Println("C")
        } else {
            fmt.Println("F")
        }
    }
  • 상황 설명: 학생의 점수를 기반으로 적절한 학점을 출력합니다.
  • 5. 흔한 실수와 주의사항

    1. 조건문에서 중괄호 사용 실수

    if age >= 18
        fmt.Println("성인입니다.") // 중괄호가 없음
  • 올바른 코드:
  • if age >= 18 {
        fmt.Println("성인입니다.")
    }
  • 주의사항: Go에서는 조건문 블록을 명시적으로 중괄호로 감싸야 합니다.
  • 2. 반복문에서 무한 루프

    for i := 1; i <= 5; {
        fmt.Println(i) // i가 증가하지 않음
    }
  • 올바른 코드:
  • for i := 1; i <= 5; i++ {
        fmt.Println(i)
    }
  • 주의사항: 반복문 내에서 변수를 증가시키지 않으면 무한 루프에 빠질 수 있습니다.
  • 6. 정리

  • 제어문은 프로그램 흐름을 제어하는 데 필수적입니다.
  • 조건문과 반복문은 프로그래밍에서 자주 사용됩니다.
  • 코드 작성 시 중괄호를 포함하고, 반복문에서 변수를 적절히 관리해야 합니다.
  • 다음에 학습하면 좋은 주제

  • 함수 (Functions) - 코드 재사용 및 구조화
  • 배열과 슬라이스 (Arrays and Slices) - 데이터 구조 이해
  • 구조체 (Structs) - 사용자 정의 데이터 타입 활용