π¬ ν΄λ‘μ λ ν¬κ² λ κ°μ§ μ’ λ₯λ‘ λλ μκ° μμ΅λλ€.
μ΄λ¦μ΄ μλ 보ν΅μ ν¨μ(μ°λ¦¬κ° μκ³ μλ ν¨μλ€)λ
Named Closure
μ΄κ³ ,
μ΄λ¦μ΄ μλ ν¨μλ€μUnnamed Closure (μ΅λͺ ν¨μ)
λΌκ³ ν©λλ€.
λ³΄ν΅ ν΄λ‘μ λ₯Ό λ§ν λλ Unnamedλ ν¨μλ₯Ό μλ―Έν©λλ€.
{(
Parameters
) ->Return Type
inμ€ν ꡬ문
}
π¬ μ΅λͺ μ΄κΈ° λλ¬Έμ funcλΌλ ν€μλλ₯Ό μ¬μ©νμ§ μλ κ²μ΄ νΉμ§μ λλ€.
ex)
let myName : String = {
// myNameμΌλ‘ λ€μ΄κ°λ€
return "λͺ½μ΄ λλ"
}()
print(myName)
>>> λͺ½μ΄ λλ
ex)
let myRealName : (String) -> String = { (name:String) -> String in
return "κ°λ°νλ \(name)"
}
print(myRealName("λͺ½μ΄ λλ"))
>>> κ°λ°νλ λͺ½μ΄ λλ
ex)
let myRealNameLogic : (String) -> Void = { (name : String) in
print("κ°λ°νλ \(name)")
}
myRealNameLogic("λͺ½μ΄ μλΉ ")
>>> κ°λ°νλ λͺ½μ΄ μλΉ
π¬ λ°νκ°μ λ΄μ΄λμ§ μκ³ λ‘μ§μ λ΄μ μλ μμ΅λλ€.
π¬ λ΄μ΄λμ§ μμ κ²½μ° Void
λ‘ ννν©λλ€.