범위 연산자
- Swift에서 범위 연산자는 시작값과 끝값 사이의 연속적인 값을 표현할 때 사용하는 연산자이다
- 주로 반복문이나 배열의 특정 구간에 접근할 때 유용하게 사용된다
종류 및 사용법
1. 폐쇄 범위 연산자 ... (닫힌 범위 연산자, Closed Range Operator)
1...5
for i in 1...5 {
print(i)
}
let score = 75
switch score {
case 0...50:
print("낙제")
case 51...80:
print("합격")
case 81...100:
print("우수")
default:
print("잘못된 점수")
}
2. 반폐쇄 범위 연산자 ..< (반개방 범위 연산자, Half-Open Range Operator)
- 시작값은 포함하지만, 끝값은 표함하지 않는 범위를 나타낸다
1..<5
for i in 1..<5 {
print(i)
}
let age = 17
switch age {
case 0..<13:
print("어린이")
case 13..<20:
print("청소년")
case 20..<65:
print("성인")
default:
print("노년")
}
3. 한쪽 범위 연산자(One-Side Range)
- 시작점이나 끝저 한 쪽만 지정하여 범위를 표현한다
1...
...10
let lowerBoundRange = 1...
if lowerBoundRange.contains(100) {
print("100은 1 이상의 값입니다.")
}
let upperBoundRange = ...10
if upperBoundRange.contains(5) {
print("5는 10 이하의 값입니다.")
}
let number = 42
switch number {
case ...10:
print("10 이하")
case 11...30:
print("11에서 30 사이")
case 31...:
print("31 이상")
default:
print("해당 없음")
}
패턴 매칭 연산자(Pattern Matching Operator)
- 패턴 매칭 연산자
~= 는 좌측의 패턴과 우측의 값을 비교하여, 값이 그 패턴에 부합하는지를 판단한다
a...b ~= age
let number = 7
if 1...10 ~= number {
print("\(number)은 1부터 10 사이에 있습니다.")
} else {
print("\(number)은 1부터 10 사이에 있지 않습니다.")
}
let score = 85
switch score {
case 0..<50:
print("낙제")
case 50..<80:
print("합격")
case 80...100:
print("우수")
default:
print("잘못된 점수")
}