Swift
와일드카드 패턴
GREEN.1229
2021. 5. 18. 15:07
안녕하세요. 그린입니다🟢
이번에는 와일드카드 패턴에 대해 알아보겠습니다🧑🏻💻
우선 패턴부터 어떤건지 알아보도록 하죠!
패턴(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판 (야곰 지음)