stride(from: 0, to: 10, by: 2)
// 0, 2, 4, 6, 8 (❌ 10 포함 안 됨)
stride(from: 0, through: 10, by: 2)
// 0, 2, 4, 6, 8, 10 (⭕️ 10 포함)
//인덱스를 2칸씩 건너뛰며 반복할 때
for i in stride(from: 0, through: 100, by: 10) {
print(i)
}
Collection Types → Array / Collection
Array String Dictionary 모두 안전하게 순회하고 싶을 때 사용Collection 다룰 때 사용let numbers = [1, 2, 3, 4, 5]
let slice = numbers[1...3] // ArraySlice<Int>
print(type(of: slice)) // ArraySlice<Int>
// 원본과 인덱스 공유하기 때문에 필요시 Array 변환 필요
let newArray = Array(slice)
let arr = [1, 2, 3, 4, 5]
let result = arr.prefix(3)
type(of: result) // ArraySlice<Int>
let newArray = Array(arr.prefix(3)) // 반환 필요
var arr = [1, 2, 3, 4]
arr.shuffle() // 원본 변경
let newArr = arr.shuffled() // 새 배열 반환
shuffle() // 원본 변경
shuffled() // 새배열 반환
Iterator를 통해 하나씩 꺼냄lazy 데이터나 스트림 데이터에서 사용됨Collection은 Sequence이면서 인덱스 접근 가능한 타입