LoginSignup
3
3

More than 5 years have passed since last update.

クロージャについて

Posted at

Swiftの勉強をしようと思って、本を眺めてたら出てきた言葉「クロージャ」について調べてみたのでメモ。

クロージャとは

無名関数、ラムダ式などとも呼ばれている。
無名関数という名前の通り、関数名を記述しない書き方ができる。

文法

クロージャの文法は以下の通り。

{ (引数) -> 戻り値型 in
    処理
}

Try

試してみた。

var lastYear = 2013
var japanCarOfTheYear = { (year: Int) -> String in
    lastYear++
    if year == 2014 {
        return "マツダ デミオ"
    } else {
        return "フォルクスワーゲン ゴルフ"
    }
}
// "フォルクスワーゲン ゴルフ\n"
print(japanCarOfTheYear(lastYear))
// "マツダ デミオ\n"
print(japanCarOfTheYear(lastYear))

まとめ

ちょっとした導出など、再利用することのない処理であれば関数として定義せずに書けることがわかった。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3