-
안녕하세요. 그린입니다🟢
이번에는 와일드카드 패턴에 대해 알아보겠습니다🧑🏻💻
우선 패턴부터 어떤건지 알아보도록 하죠!
패턴(Pattern)
: 단독 혹은 복합적인 값을 구조화하여 나타내는 것으로 코드에서 이러한 패턴을 찾도록 비교하는것을 패턴매칭이라 합니다.
패턴의 종류
1) 값 추출 및 무시하는 패턴
- 와일드카드, 바인딩, 튜플, 식별자
2) 패턴매칭을 위한 패턴
- 열거형 케이스, 타입캐스팅, 옵셔널, 표현
여기서 이번 포스팅에서는 값을 무시하는 패턴인 와일드카드 패턴에 대해 보겠습니다.
와일드카드 패턴(Wildcard Pattern)
: _ 식별자를 사용하여 해당 위치에 어떤 값이 와도 무시하고 항상 실행되게 하는 패턴
코드를 통한 와일드카드 패턴 사용🖥
class WildCardPattern { let name: String = "GREEN" // 어떤값이 와도 해당 switch case문을 실행 switch name { case _: print(data) } let name: String? = "GREEN" // 옵셔널 값으로도 와일드카드 패턴 사용이 가능 switch name { case "GREEN"?: print(data) // 위 케이스인 그린외 값이 있을때 동작 case _?: print("Not GREEN") // 값이 없을때 동작 (해당 케이스가 없고 값이 없다면 동작, default로 나눠줘도 가능) case nil: print("Not Input") } let tuple = ("GREEN", "BLUE") // 튜플로도 인자값에 따라 와일드카드 식별자 사용 가능 switch tuple { // 첫 인자에 그린이 맞으면 실행 case ("GREEN", _): print("GREEN") // 위 케이스가 아니면 무조건 실행 case (_, _): print("Not GREEN") } // 반복문에서도 사용 가능 for _ in 0..<3 { print("GREEN") }
와일드카드 패턴을 위와 같이 다양하게 사용해볼 수 있습니다.
패턴들은 대부분 switch문에서 사용될때 편리하게 사용됩니다.
[참고자료]
스위프트 프로그래밍 3판 (야곰 지음)
'Swift' 카테고리의 다른 글
Deep copy & Shallow copy (0) 2021.05.25 패턴 (식별자, 값 바인딩, 튜플) (0) 2021.05.19 개념 자문자답 (0) 2021.04.29 Result (0) 2021.04.28 Closure 심화 (0) 2021.04.27