Value Binding Pattern

장주명·2021년 5월 20일

Condtitional Statements

목록 보기
3/5

매칭시킬 값을 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
}
profile
flutter & ios 개발자

0개의 댓글