Swift 入門 | 関数リテラルとクロージャ | 関数は値である

Swift の関数には重要な特徴がある。それは値として扱えることである。関数は処理をまとめたものだが、Swift では関数自体も値である。

次の簡単な例を実行してみよう。

func calc(num:Int)->Int {
    var res = 0
    for n in 0...num {
        res += n
    }
    return res
}
 
var f1 = calc
 
print(f1(10))

この例では calc という関数を定義している。次に calc を変数 f1 に代入し、引数を渡して f1 を呼び出している。

calc の処理が正しく実行され、結果を取得できる。つまり、変数 f1 に代入された calc 関数が期待どおりに動作している。

関数が値であるため、Swift では関数をさまざまな形で扱える。まずは「関数は値である」という点をしっかり覚えておこう。