Closures store small blocks of code in values that can be called later.

Store a callable block

closure_values.swift
let increment = 
let addIncrement = { (value: Int) -> Int in
    return value + increment
}

let base = 10
let result = addIncrement(base)

print("increment=\(increment)")
print("result=\(result)")
let increment = 
let addIncrement = { (value: Int) -> Int in
    return value + increment
}

let base = 10
let result = addIncrement(base)

print("increment=\(increment)")
print("result=\(result)")
let increment = 
let addIncrement = { (value: Int) -> Int in
    return value + increment
}

let base = 10
let result = addIncrement(base)

print("increment=\(increment)")
print("result=\(result)")
closures A closure can capture a value from the surrounding scope. Calling the closure uses both its parameter and the captured value.