最終更新:2022-02-18 (金) 17:09:56 (796d)  

Swift/クロージャ
Top / Swift / クロージャ

{(パラメータ定義) -> [戻り値の型] in
    処理コード
}

メモ

  • パラメータが一つの場合、カッコを省略できる
  • 引数名を省略すると$0$1...でアクセスできる
  • 処理コードが1文の場合、returnは省略できる

  • //addFuncの型を型推論
    let addFunc = {(a:Int, b:Int) -> Int in
        return a + b
    }
    
    //addFuncの型を明示的に書くとこうなる
    let addFunc: (Int,Int) -> Int = {(a:Int, b:Int) -> Int in
        return a + b
    }

引数のない場合

  • var simpleClosure: () -> () = {
        println("こんにちは。ほげさん")
    }

@autoclosure?

Swift/Trailing Closures

  • クロージャが最後の引数の場合

メモ

関連