[amazonjs asin=”4800711487″ locale=”JP” tmpl=”Small” title=”詳細! Swift 3 iPhoneアプリ開発 入門ノート Swift3 + Xcode 8対応”]
関数の多重定義(オーバーロード)
同名の関数でも、引数名や引数の数が異なると別の関数として扱われる。
これが多重定義(オーバーロード)と呼びます。
func calc(a:Int, b:Int) -> Int { return a+b } func cals(c:Int, d:Int) -> Int { return c*d } func calc(a:Int, b:Int, c:Int) -> { return (a+b)*c }
ジェネリクスな関数
関数名
型を柔軟に扱えるようになる。
func atai<T>(val1: T,val2, T) -> T { return val1 > val2 ? val1 : val2 }
クロージャ
クロージャは名前がない関数のオブジェクトのようなもの、変数に代入したり、引数の値として関数に渡したりといった使い方をする。
書式
{(引数:引数の型) -> (戻り値の型) in
ステートメント
return 戻り値
}
let myFunc = {(a:Int, b:Int) -> Int ix return a + b } let ans = myFunc(1, 2)