728x90
고차 함수 (Higher-Order Function)
고차 함수는 다른 함수를 매개변수로 받거나, 함수 자체를 반환하는 함수를 말한다.
Swift의 map, filter, reduce 같은 함수가 대표적인 고차 함수이다.
다른 함수를 매개변수로 받을 수 있다.
함수를 반환할 수 있다.
클로저(Closure)와 자주 사용된다.
import SwiftUI
struct MyHOFView: View {
let array = [1,2,3,4,5,6,7,8,9,10,11,17,18]
@State private var displayedArray: [String] = []
var body: some View {
VStack {
HStack {
Button("Map") {
displayedArray = array.map { "이 숫자는 \($0)" }
}
Button("Filter") {
displayedArray = array.filter { $0 % 2 == 0 }.map { "짝수: \($0)" }
}
Button("Reduce") {
// array.reduce(초기값, *) // 초기값을 1로 해야 모든 배열의 곱
// array.reduce(초기값, +) // 초기값을 0으로 해야 모든 배열의 합
let result = array.reduce(1, *)
let result2 = array.reduce(1, { partialResult, next in
partialResult * next
}).description
displayedArray = ["곱한 값: \(result2)"]
}
Button("Reset") {
displayedArray = []
}
}
.padding()
List(displayedArray, id: \..self) { item in
Text(item)
}
}
}
}
#Preview {
MyHOFView()
}
728x90
'iOS > Swift' 카테고리의 다른 글
Swift 에서의 프로퍼티(Property) (0) | 2025.03.21 |
---|---|
Swift 에서의 Generics(제너릭) (0) | 2025.03.20 |
Swift 에서의 초기화와 초기화 해제 (init, deinit) 그리고 self (0) | 2025.03.19 |
Swift 에서의 일급 함수 (First-Class Function) (0) | 2025.03.18 |
[Swift Playground] 코딩 배우기2 - 임의의 장소에 보석 놓기 (0) | 2025.03.17 |