【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の結果を返却 }
関数ネタは次回に続きます。