1,268 views
この記事は最終更新から 2590日 が経過しています。
関数の書き方
・行頭に「func」と書く。
・引数は「変数名:データ型」と書く。複数あれば「,」でつなぐ。
・戻り値は「->データ型」と書く。
以下、簡単な関数 sayHello() を実装してみた。
関数を書く前で関数を使用するとエラーになる
C言語等ではプロトタイプ宣言が必要なのは当たり前だが、これがOKな言語は結構ある。
Swiftでは許されないようだ。
「_」で関数コール時に引数名を省略できる
関数実体の引数宣言の直前に「_」を書くと、関数コール時にその引数の記述を省略できる。
この場合、呼び出し側でも引数名を省略しなければエラーになる。
複数の戻り値を返せる
それぞれの戻り値に名前を付けることも出来る。
この場合、各戻り値へのアクセス時には付与した名前が使える。(序数でもOK)
それぞれの戻り値に名前を付けないことも出来る。
この場合、各戻り値へのアクセス時には「0,1,2,…」の序数を使う。
配列を引数に使う
データ型を「[ ]」で括ればよい。
関数を入れ子に出来る
関数の中に関数を記述できる。いわゆるクロージャが書ける。
この場合、子関数は親関数内で宣言された変数にアクセスできる。
「A Swift Tour」には「関数が長く複雑になった場面で使え」と書かれている。
戻り値として関数を返せる
C言語で言うならば関数ポインタを返す様なものだ。
下図の関数 getFunc() の戻り値「 (Int) -> String 」は、
「Int型の引数を1個持ち、String型の戻り値を1個返す関数」を返すということ。
関数を引数に使う
関数の引数で関数を受け取ることができる。
下図の引数 judge は、
「Int型の引数を1個持ち、Bool型の戻り値を1個返す関数」を引数として入力するということ。