-
패턴 (식별자, 값 바인딩, 튜플)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판 (야곰 지음)