본문 바로가기

Function

고차함수 고차함수고차함수(Higher-order function)은 '다른 함수를 전달인자로 받거나 함수실행의 결과를 함수로 반환하는 함수'를 뜻합니다.스위프트의 함수(클로저)는 일급시민(first-citizen)이기 때문에 함수의 전달인자로 전달할 수 있으며, 함수의 결과값으로 반환할 수 있습니다. 이번 파트에서는 스위프트 표준라이브러리에서 제공하는 유용한 고차함수에 대해 알아봅니다.mapfilterreducemap, filter, reduce 함수는 스위프트 표준 라이브러리의 컨테이너 타입(Array, Set, Dictionary 등)에 구현되어 있습니다. 소스코드 mapmap함수(메서드)는 컨테이너 내부의 기존 데이터를 변형(transform)하여 새로운 컨테이너를 생성합니다. > 변형하고자 하는 numbe.. 더보기
클로저 - Closure 클로저클로저는 코드의 블럭입니다. 일급시민(first-citizen)으로, 전달인자, 변수, 상수 등으로 저장, 전달이 가능합니다. 함수는 클로저의 일종으로, `이름이 있는 클로저`라고 생각하면 됩니다. 소스코드 기본 클로저 문법{ (매개변수 목록) -> 반환타입 in 실행 코드 } 클로저의 사용 // sum이라는 상수에 클로저를 할당 let sum: (Int, Int) -> Int = { (a: Int, b: Int) in return a + b } let sumResult: Int = sum(1, 2) print(sumResult) // 3 함수의 전달인자로서의 클로저클로저는 주로 함수의 전달인자로 많이 사용됩니다. 함수 내부에서 원하는 코드블럭을 실행할 수 있습니다.let add: (Int, Int.. 더보기
함수 함수 소스코드 함수의 선언함수선언의 기본형태func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 { /* 함수 구현부 */ return 반환값 } // 예) // sum이라는 이름을 가지고 // a와 b라는 Int 타입의 매개변수를 가지며 // Int 타입의 값을 반환하는 함수 func sum(a: Int, b: Int) -> Int { return a + b } 반환 값이 없는 함수func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> Void { /* 함수 구현부 */ return } // 예) func printMyName(name: String) -> Void { print(name) } // 반환 값이 없는.. 더보기
Swift - 함수, 콜렉션 타입 오늘의 주제 1. 함수2. 콜렉션 타입 - 배열, 딕셔너리, 세트 안녕하세요, 야곰입니다. 지난 포스팅에서는 변수와 상수 선언방법 그리고 기초적인 데이터 타입까지 알아봤습니다. 2017/01/23 - [Swift] - Swift란 어떤 언어인가?2017/01/25 - [Swift] - Swift 기초문법 - 변수, 상수, 기초 데이터 타입 이번에는 스위프트의 함수와 함께 스위프트에서 제공하는 컬렉션 타입에 대해 알아보겠습니다 :) 함수대부분 함수는 작업의 가장 작은 단위이자 하나의 작은 프로그램이기도 합니다. “하나의 프로 그램은 하나의 큰 함수다”라는 말이 있듯이, 함수는 프로그램을 이루는 주된 요소 중 하나입니다. 스위프트에서 함수는 일급 객체이기 때문에 하나의 값으로도 사용할 수 있습니다. 스위프트.. 더보기