스파르타 코딩클럽 ios 앱개발 - TIL

ILLHan Jung·2023년 7월 31일
0

범위연산자

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 루프는 컬렉션의 모든 요소를 순회하는 유용한 반복문이며, 컬렉션뿐만 아니라 숫자 범위, 문자열, 집합 등 다양한 경우에 사용할 수 있습니다. 컬렉션 요소의 개수만큼 반복하며, 반복문 내에서 각 요소에 대한 작업을 수행할 수 있습니다.

profile
안녕하세요!

4개의 댓글

comment-user-thumbnail
2023년 7월 31일

좋은 글 감사합니다.

답글 달기
comment-user-thumbnail
2023년 7월 31일

잘 보고 가요~

답글 달기
comment-user-thumbnail
2023년 7월 31일

문법 정리 감사합니다.

답글 달기
comment-user-thumbnail
2023년 7월 31일

범위 연산자의 대해 자세히 설명해주셔서 도움이 되었습니다.
감사합니다!

답글 달기