<aside> 💡 주어진 값에 따라 다양한 동작을 지정할 수 있습니다. 타 언어의 switch 문과 유사하나 차이점이 있습니다.

</aside>

타 언어 switch 문과의 차이

값으로 매칭

person = "Alice"

match person:
    case "Alice":
        print("엘리스 안녕! 잘 지냈니? 밥은 먹었어?")
    case "Bob":
        print("왔냐")
    case _:
        print("어서오세요.")

or 매칭 & if 가드 사용

x = 0
y = 5

match x:
    case 0:
        print("Case A")
    case  1 | 2 | 3:
        print("Case B")
    case 4 if x < y:
        print("Case C")
    case _ if x > y:
        print("Case D")
    case _:
        print("Case E")

자료형으로 매칭

var = 1

match var:
    case bool():
        print("불리언입니다.")
    case int():
        print("정수입니다.")
    case float():
        print("실수입니다.")
    case str():
        print("문자열입니다.")
    case _:
        print("기타 자료형입니다.")

💡 bool()int() 보다 위에 둘 것

패턴으로 매칭