【Swift】関数の使い方。特定の処理をする小分けにされたプログラム。(Swift 2.1、XCode 7.2)

2020年6月16日

関数とは

関数とは、特定の処理をする小分けにされたプログラムのことである。プログラムの中で何度も繰り返す一連の処理をそのまま記述すると、似たようなコードが散在してソースが見づらくなるとともに、修正が必要になったときのデバッグに時間がかかってしまう。

そのようなときは、一連の処理を関数として切り出し、呼び出して使うことでソースがすっきりし、修正箇所を限定することができる。

関数は以下のように定義する。引数が無い場合は省略し、複数ある場合はカンマで区切りながら連続で記述する。

 

関数の使いどころ

例えば、各地の気温をもとに猛暑日、真夏日、夏日、無しのいずれかを出力される場合、以下のコードのように書くと、同じような分岐処理が沢山あって冗長だ。

 

そこで、上記のコードで冗長となっている分岐処理と画面出力を関数として切り出して、関数を呼び出して使うようにしたのが以下のコードになる。判定処理が1つになってスッキリした。

引数の特徴

関数の定義で引数を指定している場合、そのままでは関数を呼び出すときに必ず引数を与えなければならない。

 

ただし、関数の定義で引数に初期値を設定すると、引数なしでも関数を呼び出せるようになる。

 

複数個の引数を持つ関数を定義した場合は、以下のコードのように呼び出すときの第2引数以降に引数名を記述する必要がある。

 

引数が1個の場合と同様に、すべての引数に初期値を設定すれば引数なしでも実行できるようになる。

 

以下のコードのように第1引数の後ろにピリオドを3つつけると何個でも引数を与えて呼び出すことができるようになる。

戻り値

戻り値とは、関数を呼び出したときに関数から返ってくる値のことをいう。以下のコードように関数の引数のあとに「-> 戻り値の型」を記述することで値を返す関数を定義することができる。処理の中で「return 値」と記述すると関数の処理が終了し、呼び元に値を返す。

 

以下のコードはInt型の引数を2つ受けとり、それぞれ二乗して足し合わせたInt型の値を返す関数である。

 

戻り値を返さない関数は「-> 戻り値」を省略すればいいが、戻り値を返さないことをアピールするために「-> ()」、「-> Void」と記述しても戻り値を返さない関数になる。