##クロージャとは
swiftのLanguage Guideによると
クロージャは、コードの中で渡したり使用したりすることができる自己完結型の機能ブロックです。
中略
クロージャは、それらが定義されているコンテキストから任意の定数や変数への参照を取得して保存することができます。これは、それらの定数や変数の上で閉じることとして知られています。
最近話題のDeepLに翻訳してもらいました。
##関数をクロージャにしてみよう!
以下の関数をクロージャで書いてみます。
・関数
func closurePractice(num1: Int, num2: Int) -> Int {
return num1 + num2
}
・クロージャ
{ (num1: Int, num2: Int) -> Int in
return num1 + num2
}
クロージャを使うと、このように処理を簡潔に記載することができます。
##クロージャをもっと簡潔に書いてみる
型推論を使うことで、データ型の記載を省略することができます。
{ (num1, num2) in
return num1 + num2
}
処理が1行の場合は、さらにreturn
も省略することができます。
{ (num1, num2) in
num1 + num2
}
####参考サイト