
매칭시킬 값을 case에 변수나 상수로 바인딩한 다음에 case 블록에서 활용하는 방법
let a = 1
switch a { // 상수 a
case let x where x > 100 : // 상수 a를 x에 저장
// x = 200 내부에서 값을 변경하는게 상수기때문에 불가능 하기떄문에 let을 var로 바꿔주면 된다.
print(x)
default :
break
}
//bingding된 상수를 case블록 내부에서만 활용할수 있다는것을 알아야한다. 주로 where과 함께 활용된다.
let pt = (1,2)
switch pt {
case let(x,y):
print(x,y)
case (let x, let y):
print(x,y)
case (let x, var y): // 원하는 값만 변수로 선언할수있다.
print(x,y)
case (let x, _) : // 바인딩 하지 않을 값을 와일드 카드를 활용하여 작성하지 않을수 있다.
print(x)
default:
break
}