Swift의 고차함수

2025. 1. 2. 16:01·App Development/Swift

 

고차함수란?

 

고차함수는 다른 함수를 인자로 받거나, 함수는 반환하는 함수입니다. Swift에서는 이런 고차함수를 활용하면 보다 더 간결하고 유연한 코드를 작성할 수 있습니다.

 

예를 들어, 특정 배열을 나타내는 데이터를 다룰 때 반복문 대시 고차함수를 쓰면 코드를 더 직관적이고 짧게 작성할 수 있습니다. 이를 통해 가독성을 높이고 실수를 줄일 수 있습니다.

 

"배열의 모든 값을 2배로 만들고 싶다면?"

 

고차함수를 사용하지 않았을 때,

let numbers = [1, 2, 3, 4, 5]

var doubleNumbers : [Int] = []
for number in numbers {
	doubleNumbers.append(number * 2)
}

print(doubleNumbers)

 

고차함수 map를 사용하였을 때,

let numbers = [1, 2, 3, 4, 5]

let doubleNumbers = numbers.map{ $0 * 2 }
print(doubleNumbers)

 

배열의 각 요소를 변환할 때 사용할 수 있습니다.

 

Swift의 대표적인 고차함수

Map : 데이터 변환

Filter: 조건에 맞는 요소만 선택

 

예를 들어, 배열에서 짝수만 추출하고 싶을 경우,

let numbers = [1, 2, 3, 4, 5]

let evenNumbers = numbers.filter{ number in
	return number * 2 == 0 }

print(evenNumbers)

Reduce: 값을 하나로 축약

예를 들어, 배열의 합을 계산하고 싶을 경우,

let numbers = [1, 2, 3, 4, 5]

let sum = numbers.reduce(0) {accumulated, current in
	return accumulated + current
}

 

고차함수의 장점

  • 반복문으로 처리해야 할 작업을 한 줄로 표현 가능하여 코드가 간결합니다.
  • 데이터 흐름을 쉽게 이해할 수 있도록 가독성이 향상됩니다.
  • 원래 데이터를 변경하지 않고 새로운 데이터를 반환할 수 있어 불변성이 유지됩니다.
저작자표시 비영리 동일조건 (새창열림)

'App Development > Swift' 카테고리의 다른 글

Swift의 에러 처리 (Error handling)  (0) 2024.12.06
Swift에서 동기와 비동기의 차이  (0) 2024.11.30
Swift의 매개변수(parameter) 정리하기  (0) 2024.11.30
Swift에서의 completion  (0) 2024.11.26
Swift의 Closure 란?  (0) 2024.11.25
'App Development/Swift' 카테고리의 다른 글
  • Swift의 에러 처리 (Error handling)
  • Swift에서 동기와 비동기의 차이
  • Swift의 매개변수(parameter) 정리하기
  • Swift에서의 completion
Genie Choi 지니 초이
Genie Choi 지니 초이
  • Genie Choi 지니 초이
    Genie World
    Genie Choi 지니 초이
  • 전체
    오늘
    어제
    • 분류 전체보기 (27)
      • Genie (3)
      • Projects (6)
      • Up-to-date learning (0)
      • App Development (10)
        • React Native (1)
        • Swift (9)
      • Marketing Tool (1)
        • Mobile Measurement Platform (1)
        • CRM Marketing (0)
      • Linux (5)
      • AWS (2)
        • EC2 (1)
        • Route 53 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Genie Choi 지니 초이
Swift의 고차함수
상단으로

티스토리툴바