Go에서의 Switch 문

대부분의 다른 프로그래밍 언어와 마찬가지로 Golang에는 switch 문이 있습니다 . Golang 의 switch 문은  여러 가지 경우에 대해 변수나 표현식을 평가할 수 있게 해주며, 여러 개의 if-else 문을 작성할 때 종종 사용되어 코드가 보기 흉하고 반복적으로 보입니다.

Go에서의 Switch 문

Go에서 switch 문은 표현식의 값(또는 유형)에 따라 실행을 효과적으로 지시하는 다방향 분기 문입니다. Go에는 두 가지 주요 switch 문 유형이 있습니다 .

  • 표현 스위치
  • 타입 스위치

예를 들어:

package main
import "fmt"

func main() {
    day := 4
    switch day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

Golang의 스위치 문 구문

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:                                                          # Expression Switch
    // Khối code
default:
    // Khối code
}

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:                                                                    # Type Switch
    // Khối code
default:
    // Khối code
}

표현 스위치

표현식 전환은 표현식을 평가하고 해당 표현식의 값에 따라 케이스를 전환합니다. 표현식이 제공되지 않으면 스위치는 기본적으로 true 로 설정됩니다 .

통사론

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:
    // Khối code
default:
    // Khối code
}

optstatement: 선택적인 명령문(예: 변수 선언).
optexpression: 선택 표현식(생략 시 기본값은 true ).

선택적 명령이 있는 예

여기서는 일 변수를 선언하는 선택적 명령문을 소개합니다 . switch 문은 다양한 경우에 따라 날짜를 평가합니다 .

package main
import "fmt"
func main() {
    switch day := 4; day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

결과:

Thursday

선택적 표현식이 있는 예

표현식이 지정되지 않으면 Golang의 switch 문은 표현식이 참이라고 가정합니다. 이를 통해 case 문에서 부울 조건을 사용할 수 있습니다.

package main
import "fmt"

func main() {
    day := 4

    switch {
    case day == 1:
        fmt.Println("Monday")
    case day == 4:
        fmt.Println("Thursday")
    case day > 5:
        fmt.Println("Weekend")
    default:
        fmt.Println("Invalid day")
    }
}

결과

Thursday

타입 스위치

Type Switch는 인터페이스 값의 값이 아닌 유형에 따라 분기하는 데 사용됩니다. 이 기능은 알려지지 않은 유형의 변수를 다룰 때 특히 유용합니다.

통사론

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:
    // Khối code
default:
    // Khối code
}

예를 들어:

이 예제에서는 같은 day 변수를 사용하지만 interface{} 로 감싸서 형 변환을 설명합니다.

package main
import "fmt"
func main() {
    var day interface{} = 4
    switch v := day.(type) {
    case int:
        switch v {
        case 1:
            fmt.Println("Monday")
        case 2:
            fmt.Println("Tuesday")
        case 3:
            fmt.Println("Wednesday")
        case 4:
            fmt.Println("Thursday")
        case 5:
            fmt.Println("Friday")
        default:
            fmt.Println("Invalid day")
        }
    default:
        fmt.Printf("Unknown type: %T\n", v)
    }
}

결과:

Thursday

댓글 남기기

평택에서 폐건전지 버리는 방법: 수거함 찾기부터 안전 배출까지

평택에서 폐건전지 버리는 방법: 수거함 찾기부터 안전 배출까지

평택에서 폐건전지를 버리는 순서와 가까운 전용 수거함 찾는 법을 안내합니다. 건전지 분리·보관, 손상된 리튬전지 주의사항, 교환 여부 확인법도 살펴보세요.

서울에서 부탄가스통 버리는 방법: 잔량 확인부터 캔류 배출까지

서울에서 부탄가스통 버리는 방법: 잔량 확인부터 캔류 배출까지

서울에서 부탄가스통을 버리는 방법을 정리했습니다. 완전 소진 여부, 구멍을 뚫기 전 안전 확인, 캔류 배출과 자치구별 문의 방법을 안내합니다.

서울에서 냉장고 버리는 방법: 무료 방문수거·새 제품 회수·구청 신고 비교

서울에서 냉장고 버리는 방법: 무료 방문수거·새 제품 회수·구청 신고 비교

서울에서 냉장고를 버리는 방법을 비교합니다. 무상방문수거 예약, 새 냉장고 구매 시 회수, 구청 대형폐기물 신고의 조건과 준비 사항을 확인하세요.

평택에서 형광등 버리는 방법: 전용 수거함 확인과 안전한 배출 요령

평택에서 형광등 버리는 방법: 전용 수거함 확인과 안전한 배출 요령

평택에서 폐형광등을 버리는 방법을 정리했습니다. 아파트 수거함과 행정복지센터 확인법, 안전한 포장, 깨진 형광등과 LED 구분까지 안내합니다.

안양에서 폐건전지 버리는 방법: 수거함 위치 확인부터 안전한 배출까지

안양에서 폐건전지 버리는 방법: 수거함 위치 확인부터 안전한 배출까지

안양에서 폐건전지를 올바르게 버리는 방법을 정리했습니다. 단독주택·공동주택 배출처, 전용수거함 이용법, 내장형 배터리 제품 구분과 화재 예방 주의사항을 확인하세요.

부산에서 자전거 버리는 방법: 재사용, 대형폐기물 신고와 비용 비교

부산에서 자전거 버리는 방법: 재사용, 대형폐기물 신고와 비용 비교

부산에서 자전거 버리는 방법을 비교합니다. 판매·나눔과 대형폐기물 신고, 구·군별 수수료, 온라인·전화 접수, 배출 전 체크리스트를 확인하세요.

고양에서 폐건전지 버리는 방법: 수거함 위치와 안전한 분리배출

고양에서 폐건전지 버리는 방법: 수거함 위치와 안전한 분리배출

고양에서 폐건전지를 버릴 때 수거함을 찾는 순서와 일반 건전지, 보조배터리, 부푼 리튬 배터리의 안전한 배출 방법을 정리했습니다.

서울 종량제봉투 가격과 판매처 확인 방법: 2026년 기준 실용 가이드

서울 종량제봉투 가격과 판매처 확인 방법: 2026년 기준 실용 가이드

서울 종량제봉투 가격과 지정 판매처를 정확히 확인하는 방법을 정리했습니다. 10L·20L·50L 가격, 자치구별 확인법, 판매점 찾기와 규격 선택 기준을 2026년 공식 자료로 안내합니다.

화성에서 컴퓨터 버리는 방법: 무료 폐가전 수거부터 대형폐기물 신고까지

화성에서 컴퓨터 버리는 방법: 무료 폐가전 수거부터 대형폐기물 신고까지

화성에서 데스크톱, 모니터, 노트북을 버리는 방법을 정리했습니다. 개인정보 삭제, 폐가전 무상방문수거 조건, 대형폐기물 신고, 배출 전 체크리스트까지 확인하세요.

안산에서 스프레이캔 버리는 방법: 가스 제거부터 캔류 배출까지

안산에서 스프레이캔 버리는 방법: 가스 제거부터 캔류 배출까지

안산시 기준으로 스프레이캔·에어졸캔을 안전하게 비우고 캔류로 분리배출하는 방법을 정리했습니다. 일반주택과 공동주택의 배출 차이, 가스 제거 요령, 확인할 점까지 안내합니다.