Swift

패턴 (식별자, 값 바인딩, 튜플)

GREEN.1229 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판 (야곰 지음)