0Pricing
Swift Academy · 강의

범위와 튜플 매칭하기

숫자 범위와 튜플 형태를 기준으로 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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 값에 대한 모든 경우를 다루는 switch
  2. 범위와 튜플 매칭하기
  3. 값 바인딩과 where 절
  4. 복합 케이스와 fallthrough
← Swift Academy(으)로 돌아가기