ミライスタート TECH系ブログ

株式会社ミライスタートのエンジニア達が気になったTECH系の記事等をアップしています!

【swift2.2】【備忘】関数についてあれこれ①

こんにちは。エンジニアの石井です。

最近備忘しかつけてない気がしますが、
それだけswiftの技術レベルが低いということで、
新たに備忘を追加。

▪️参照渡しキーワード : inout

    func testFunc(inout value: Int){
        value = 20
    }

呼び出し元 : testFunc(&value)

▪️関数型: var f:(Int)->Int = testFunc2
fがtestFunc2関数となる。
その場合testFunc2の後のカッコは不要。

以下例では、fをさらにtestFunc3という関数に変更している。

    func disp(){
        var f:(Int)->Int = testFunc2
        f=testFunc3

        print(f(10)) //fはtestFunc3の関数となる
    }


    func testFunc2(value1: Int)->Int{
        return value1+10
    }

    func testFunc3(value1: Int)->Int{
        return value1+30
    }

※関数型を引数にもできる

    func disp(){
        let f:(Int)->Int = testFunc2
        print(testFunc4(f,value1: 10)) //fという関数を引数に設定
    }

    func testFunc2(value1: Int)->Int{
        return value1+10
    }

    func testFunc4(f:(Int)->Int, value1: Int)->Int{
        return f(value1)  //引数関数fの結果を返却
    }

関数ネタは次回に続きます。