Closed Range Operator (범위 연산자: ...)
Half-Open Range Operator (반열린 범위 연산자: ..<)
One-Sided Ranges (한쪽 범위 연산자)
Closed Range Operator (...):
a...b 형식으로 사용되며, a부터 b까지의 모든 값을 포함하는 범위를 생성합니다. a와 b는 반드시 비교 가능한(comparable) 값이어야 합니다. 예를 들어, 1...5는 1, 2, 3, 4, 5를 포함하는 범위를 생성합니다.
let closedRange = 1...5
for number in closedRange {
print(number) // 1, 2, 3, 4, 5 출력
}
Half-Open Range Operator (..<):
a..<b 형식으로 사용되며, a부터 b 이전까지의 값을 포함하는 범위를 생성합니다. a와 b는 반드시 비교 가능한(comparable) 값이어야 합니다. 예를 들어, 1..<5는 1, 2, 3, 4를 포함하는 범위를 생성합니다.
let halfOpenRange = 1..<5
for number in halfOpenRange {
print(number) // 1, 2, 3, 4 출력
}
One-Sided Ranges (한쪽 범위 연산자):
한쪽 범위 연산자는 반열린 범위 연산자와 유사하지만 한쪽 끝이 누락되어 있는 범위를 생성할 수 있습니다. 이러한 경우, 하나의 값만 포함하는 범위가 됩니다.
a... : a 이상의 모든 값을 포함하는 범위
...b : b 미만의 모든 값을 포함하는 범위
let oneSidedRange = 1...
for number in oneSidedRange {
print(number) // 1부터 시작하여 계속 증가하는 값을 출력
}
let anotherOneSidedRange = ...5
for number in anotherOneSidedRange {
print(number) // 5 미만의 값을 출력
}
이렇게 Swift의 Range Operators를 사용하면, 간단하고 강력한 방식으로 범위를 생성하고 조작할 수 있습니다. 이를 활용하여 반복문이나 조건문 등에서 편리하게 사용할 수 있습니다.
Swift의 for-in 루프는 컬렉션(배열, 딕셔너리, 집합 등)의 각 요소를 반복적으로 처리하는 반복문입니다. 이 반복문을 사용하여 컬렉션의 모든 요소를 순회하고 작업을 수행할 수 있습니다.
for element in collection {
// element에 대한 작업 수행
}
여기서 element는 컬렉션에 있는 각 요소를 나타내는 임시 변수입니다. collection은 반복하고자 하는 컬렉션 자체를 나타냅니다.
예를 들어, 배열을 순회하는 간단한 for-in 루프
let numbers = [1, 2, 3, 4, 5]
for number in numbers {
print(number) // 각 숫자를 출력
}
위의 예제에서 numbers 배열의 각 요소가 number에 할당되어 반복문 내에서 출력됩니다.
딕셔너리를 순회하는 경우, for-in 루프는 키-값 쌍을 순회합니다. 이때 키와 값은 각각 변수에 할당됩니다.
let person = ["name": "John", "age": 30, "job": "Engineer"]
for (key, value) in person {
print("\(key): \(value)")
}
의 예제에서 person 딕셔너리의 키-값 쌍이 반복문 내에서 순서대로 출력됩니다.
for-in 루프는 컬렉션의 모든 요소를 순회하는 유용한 반복문이며, 컬렉션뿐만 아니라 숫자 범위, 문자열, 집합 등 다양한 경우에 사용할 수 있습니다. 컬렉션 요소의 개수만큼 반복하며, 반복문 내에서 각 요소에 대한 작업을 수행할 수 있습니다.
좋은 글 감사합니다.