티스토리 뷰

Swift

Closure - 2

강경 2020. 12. 15. 10:42
728x90
반응형

Closure에는 총 3가지 타입이 있다.

1. Global 함수

2. Nested 함수

3. Closure Expressions

 

아주 정확히 표현하자면, '함수'는 Closure의 한가지 타입이다.

여기서 다루는건 3번으로 보면 되겠다.

docs.swift.org/swift-book/LanguageGuide/Closures.html

 

Closures — The Swift Programming Language (Swift 5.3)

Closures Closures are self-contained blocks of functionality that can be passed around and used in your code. Closures in Swift are similar to blocks in C and Objective-C and to lambdas in other programming languages. Closures can capture and store referen

docs.swift.org

 

First Class Type : 변수에 할당할 수 있고, 인자로 받을 수 있고, 리턴할 수 있는 타입

-> Closure도 이 타입에 해당한다.

 

Closure : 이름이 없는 함수. (익명함수..?) -> 이 함수를 다른 함수의 파라미터로 넘길 수 있다.

형태가 함수와 비슷하다.

선언문을 적당히 줄일 수 있는데, 너무 많이 줄이면 도리어 가독성이 더 안좋을 수 있다.

 

closure를 다른 함수의 파라미터로 사용하는 예제이다.

숫자 두개와 연산closure를 인자로 받아 계산시키는 함수

이와같이 다른 연산을 진행시킬 수도 있다.

덧셈

클로저를 따로 만들지않고, 함수 안에 동적으로 넣어서 진행시킬 수도 있다.

operation 파라미터 부분에 나눗셈 연산을 넣었다.
input ounput이 없는 closure

 

728x90
반응형

'Swift' 카테고리의 다른 글

Closure - 3  (0) 2020.12.15
Closure - Capturing Values  (0) 2020.12.15
Collection - Set  (0) 2020.12.15
Collection - Dictionary  (0) 2020.12.14
Collection - Array  (0) 2020.12.14