ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 패턴 (식별자, 값 바인딩, 튜플)
    Swift 2021. 5. 19. 16:35

    안녕하세요. 그린입니다🟢

    이번 포스팅에선 저번 와일드 패턴에 이어 값을 추출하거나 무시하는 패턴의 나머지 3개에 대해 알아보겠습니다🧑🏻‍💻

    식별자 패턴 (Identifier Pattern)

     : 변,상수의 네이밍에 해당하는 값을 매칭시키는 패턴

    let name: String = "GREEN"

     네임이라는 상수가 그린이라는 문자열 값의 식별자가 됩니다.

     때에 따라 식별자 패턴이 값 바인딩 패턴의 한 종류가 되기도 합니다.

    값 바인딩 패턴 (Value-Binding Pattern)

     : 변,상수의 네이밍에 매칭된 값 바인딩

    let person = ("GREEN", 10)
    
    switch person {
    case let (name, age):
        print("\(name), \(age)")
    }
    
    switch person {
    case (let name, let age):
        print("\(name), \(age)")
    }
    
    switch person {
    case (let name, _):
        print("\(name), \(age)")
    }

     코드와 같이 해당 되는 튜플의 값을 추출하여 식별자 패턴에 맞는 값을 매칭시켜 바인딩해줍니다.

     경우에 따라 와일드카드 패턴과 유용하게 같이 사용할 수 있습니다.

    튜플 패턴 (Tuple Pattern)

     : 소괄호안 쉼표로 분리하는 튜플 타입의 패턴

    let person = ("GREEN", 20)
    
    switch (name, age) {
    case ("GREEN", _):
        print("\(name), \(age)")
    case (_, 20):
        print("\(name), \(age)")
    }
    
    let (a, b): (Int,Int) = (1,2)

     코드와 같이 와일드카드, 식별자, 옵셔널, 여러 튜플 패턴들과 같이 사용할 수 있습니다.

     해당 하는 튜플 타입의 값과 매칭합니다.

     

    이렇게 간단히 스위프트에서 값을 추출하거나 무시할 수 있는 패턴 4가지에 대해 알아봤습니다.

    다음에는 패턴 매칭을 위한 패턴에 대해 알아보겠습니다.☺️

     

     

    [참고자료]

    스위프트 프로그래밍 3판 (야곰 지음)

    'Swift' 카테고리의 다른 글

    진수 변환  (0) 2021.05.27
    Deep copy & Shallow copy  (0) 2021.05.25
    와일드카드 패턴  (3) 2021.05.18
    개념 자문자답  (0) 2021.04.29
    Result  (0) 2021.04.28
Designed by Tistory.