compactMap

    [Swift] 고차함수(1) - map, flatMap, compactMap

    [Swift] 고차함수(1) - map, flatMap, compactMap

    스위프트에서는 함수를 일급 객체로 취급한다. 따라서 함수를 다른 함수의 전달 인자로 사용할 수 있다. 매개변수로 함수를 갖는 함수를 고차 함수라고 부르는데, 그중 map, flatMap, compactMap에 대해 알아볼 예정이다. map 맵은 자신을 호출할 때 매개변수로 전달된 함수를 실행하여 그 결과를 다시 반환해주는 함수이다. 스위프트에서 맵은 배열, 딕셔너리, 세트, 옵셔널 등에서 사용할 수 있다. 조금 더 정확히 말하자면 Sequence, Collection 프로토콜을 따르는 타입과 옵셔널은 모두 맵을 사용할 수 있다. 맵을 사용 하면 컨테이너가 담고 있던 각각의 값을 매개변수를 통해 받은 함수에 적용한 후 새 컨테이너에 포장하여 반환한다. 기존 컨테이너의 값은 변경되지 않고 새로운 컨테이너가 ..