범위와 튜플 매칭하기
숫자 범위와 튜플 형태를 기준으로 switch를 사용합니다.
범위와 튜플 매칭하기은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
범위와 일치시키기
케이스는 1...5와 같은 범위 연산자를 사용하여 값의 전체 범위와 일치시킬 수 있습니다. 값이 범위에 들어오면 해당 케이스가 실행됩니다.
let score = 85
switch score {
case 0..<50:
print("Fail")
case 50...100:
print("Pass")
default:
print("Invalid")
}폐구간과 반개구간
상한을 포함하려면 폐구간(...)을 사용하고, 상한을 제외하려면 반개구간(..<)을 사용하십시오. 서로 겹치지 않는 경계를 선택하십시오.
let age = 18
switch age {
case 0..<13:
print("Child")
case 13..<20:
print("Teen")
default:
print("Adult")
}범위 케이스의 순서
Swift는 케이스를 위에서 아래로 확인하고 처음 일치하는 케이스를 실행합니다. 따라서 겹치지 않는 범위를 사용하면 동작을 예측하기 쉽습니다.
let temp = 30
switch temp {
case ..<0:
print("Freezing")
case 0..<20:
print("Cool")
case 20...:
print("Warm")
default:
print("?")
}튜플을 대상으로 스위치하기
튜플을 스위치하여 여러 값과 한 번에 일치시킬 수 있습니다. 각 위치에는 리터럴, 범위 또는 와일드카드 _를 사용할 수 있습니다.
let point = (1, 1)
switch point {
case (0, 0):
print("Origin")
case (_, 0):
print("On x-axis")
case (0, _):
print("On y-axis")
default:
print("Elsewhere")
}튜플에서 와일드카드 사용하기
밑줄 _은 해당 위치의 모든 값과 일치하므로, 관심 있는 부분에 집중할 수 있습니다.
let result = (200, "OK")
switch result {
case (200, _):
print("Success")
case (_, "Error"):
print("Has error")
default:
print("Other")
}튜플 안의 범위
튜플 패턴의 각 위치에서 범위를 사용할 수 있어 강력한 2차원 일치 검사가 가능합니다.
let coord = (3, 8)
switch coord {
case (0...5, 0...5):
print("Bottom-left quadrant")
case (0...5, 6...10):
print("Top-left quadrant")
default:
print("Far")
}정확한 튜플과 일치시키기
모든 값이 지정된 튜플과 일치시켜 정확한 조합을 감지할 수 있습니다.
let move = ("up", 2)
switch move {
case ("up", 2):
print("Jump twice up")
case ("down", _):
print("Going down")
default:
print("Other move")
}숫자 분류하기
범위 일치를 사용하면 숫자를 구간으로 분류하는 작업을 깔끔하고 직접적으로 작성할 수 있습니다.
let n = -4
switch n {
case ..<0:
print("negative")
case 0:
print("zero")
case 1...:
print("positive")
default:
print("?")
}문자 범위
문자는 서로 비교할 수 있으므로 문자 범위와도 일치시킬 수 있습니다.
let ch: Character = "k"
switch ch {
case "a"..."m":
print("First half")
case "n"..."z":
print("Second half")
default:
print("Not a lowercase letter")
}튜플 위치 결합하기
튜플 일치는 모든 위치를 함께 평가합니다. 케이스가 실행되려면 모든 위치가 일치해야 합니다.
let weather = (sunny: true, temp: 25)
switch (weather.sunny, weather.temp) {
case (true, 20...):
print("Nice and warm")
case (true, _):
print("Sunny but cool")
default:
print("Not sunny")
}이 방식이 강력한 이유
범위와 튜플 패턴을 사용하면 여러 개의 중첩된 if 문이 필요했을 논리를 하나의 스위치로 표현할 수 있으며, 구조도 평탄하고 읽기 쉽습니다.
let (x, y) = (0, 5)
switch (x, y) {
case (0, 0): print("origin")
case (0, _): print("y-axis")
case (_, 0): print("x-axis")
default: print("plane")
}간단히 확인하기
범위와 튜플 일치를 확인해 보십시오.
정리: 범위와 튜플 일치시키기
케이스는 1...5나 0..<n과 같은 범위와 일치할 수 있습니다. 튜플 패턴을 사용하면 리터럴, 범위, 와일드카드 _를 이용해 여러 값과 한 번에 일치시킬 수 있습니다.
let p = (0, 4)
switch p {
case (0, _): print("y-axis")
default: print("other")
}자주 묻는 질문
“범위와 튜플 매칭하기” 강의는 무료인가요?
네 — “범위와 튜플 매칭하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“범위와 튜플 매칭하기”에서 뭘 배우나요?
숫자 범위와 튜플 형태를 기준으로 switch를 사용합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Swift Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“범위와 튜플 매칭하기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.