Swiftの勉強 第11回 関数の高度な利用

swift

[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)
タイトルとURLをコピーしました