[swift] 클로저 고차 함수

클로저는 코드 내에서 전달하거나 저장하여 사용할 수 있는 독립적인 기능 블록입니다. Swift에서 클로저는 함수처럼 이름이나 레이블이 없고, 간결한 문법을 제공하여 유연하고 강력한 기능을 제공합니다.

클로저 표현식

let numbers = [1, 2, 3, 4, 5]
let mappedNumbers = numbers.map({ number in number * 2 })

위의 예시는 map 함수를 사용하여 numbers 배열의 각 항목을 2배로 만든 새로운 배열을 생성하는 클로저를 보여줍니다. 이 클로저는 매개변수 number를 받아서 해당 숫자를 2배로 반환합니다.

고차 함수

고차 함수는 클로저를 매개변수로 받거나, 반환하는 함수입니다. Swift의 표준 라이브러리에는 map, filter, reduce와 같은 고차 함수가 포함되어 있으며, 이러한 함수들을 이용하면 간결하고 가독성 좋은 코드를 작성할 수 있습니다.

let numbers = [1, 2, 3, 4, 5]
let filteredNumbers = numbers.filter({ number in number % 2 == 0 })

위의 예시는 filter 함수를 사용하여 numbers 배열에서 짝수만을 필터링하여 새로운 배열을 생성하는 클로저를 보여줍니다.

클로저 및 고차 함수는 Swift에서 강력한 도구로, 코드를 간결하고 효율적으로 만들어 줍니다.

더 자세한 내용은 Swift 공식 문서를 참고하시기 바랍니다.