iOS 기본 (swift)
[iOS - swift] for, stride, Range
jake-kim
2021. 3. 3. 23:57
stride 키워드 주의
- stride(from:to:by:) to를 포함하지 않음
- stride(from:through:by) through를 포함
for i in stride(from: 0, to: 5, by: 1) {
print(i) // 0, 1, 2, 3, 4
}
for i in stride(from: 0, through: 5, by: 1) {
print(i) // 0, 1, 2, 3, 4, 5
}
// cf) Closed range
for i in 0...5 {
print(i) // 0, 1, 2, 3, 4, 5
}
Range
- 제네릭이며 '반개방'상태(A..<B)의 간격을 표현하는 제네릭 구조체
- Range를 사용할 때 Comparable 프로토콜을 준수하는 타입이면 무엇이든 가능

- 객체 생성
let rangeInstance = 0.0 ..< 10.0 // Range<Double> 타입
- 속성
print(rangeInstance) // 0.0..<10.0
print(rangeInstance.contains(1.5)) // true
print(rangeInstance.lowerBound) // 0.0
print(rangeInstance.upperBound) // 10.0