[swift] Swift에서 제공하는 고차 함수들에 대해 알려주세요.

Swift에서는 고차 함수(higher-order functions)라고 불리는 강력한 기능을 제공하여 코드의 가독성을 높이고 반복적이고 복잡한 작업을 간결하게 처리할 수 있습니다. 고차 함수는 함수를 값으로 다루는 기능을 지원하여 함수형 프로그래밍 스타일을 쉽게 적용할 수 있도록 도와줍니다.

1. Map

map 함수는 컬렉션 내의 모든 요소에 동일한 변환 함수를 적용하여 새로운 컬렉션을 생성합니다.

예시:

let numbers = [1, 2, 3, 4, 5]
let squaredNumbers = numbers.map { $0 * $0 }
// 결과: [1, 4, 9, 16, 25]

2. Filter

filter 함수는 주어진 조건을 만족하는 요소로 이뤄진 새로운 컬렉션을 생성합니다.

예시:

let numbers = [1, 2, 3, 4, 5]
let evenNumbers = numbers.filter { $0 % 2 == 0 }
// 결과: [2, 4]

3. Reduce

reduce 함수는 컬렉션의 모든 요소에 대해 주어진 결합 함수를 사용하여 단일 값으로 축소합니다.

예시:

let numbers = [1, 2, 3, 4, 5]
let sum = numbers.reduce(0, +)
// 결과: 15

4. CompactMap

compactMap 함수는 옵셔널 값이 있는 컬렉션에서 nil이 아닌 값들로 이뤄진 새로운 컬렉션을 생성합니다.

예시:

let strings = ["1", "2", "three", "4", "five"]
let numbers = strings.compactMap { Int($0) }
// 결과: [1, 2, 4]

이러한 고차 함수들은 Swift에서 강력한 기능을 제공하여 코드를 간결하게 작성하고 유지보수하기 쉽도록 도와줍니다.

더 많은 정보는 Swift 공식 문서를 참고하세요.