Swift Tutorial - Tutorialspoint

(backadmin) #1

Closures in Swift are similar to that of self-contained functions organized as blocks and
called anywhere like C and Objective C languages. Constants and variable references
defined inside the functions are captured and stored in closures. Functions are considered
as special cases of closures and it takes the following three forms:


Global Functions Nested Functions Closure Expressions

Have a name. Do not
capture any values

Have a name. Capture
values from enclosing
function

Unnamed Closures capture
values from the adjacent
blocks

Closure expressions in Swift language follow crisp, optimization, and lightweight syntax
styles which includes.


 Inferring parameter and return value types from context.

 Implicit returns from single-expression closures.

 Shorthand argument names and

 Trailing closure syntax

Syntax


Following is a generic syntax to define closure which accepts parameters and returns a
data type:


{(parameters) -> return type in
statements
}

Following is a simple example:


let studname = { println("Welcome to Swift Closures") }
studname()

When we run the above program using playground, we get the following result:


Welcome to Swift Closures

The following closure accepts two parameters and returns a Bool value:


{(Int, Int) -> Bool in
Statement1

17. SWIFT – CLOSURES...........................................................................................................

Free download pdf