関数 とは
関数とは、処理を一つにまとめて外部から実行可能にするものです。
プログラムングでは、同じ処理を様々な箇所で実行するケースが出てきます。
関数は、任意のタイミングで実行することができるので、
再利用できそうな処理を関数にすることで重複した処理を一箇所にまとめることができます。
関数を作る大きなメリットとしては、下記の3つが挙げられます。
・再利用ができる
->関数は任意のタイミングで呼び出すことができるため複数箇所で再利用できます。
・可読性を高める
->同じコードを何回も書かなくて良いので記述量が減り読みやすくなります。
・メンテナンス性を高めることができる
->同じ処理を複数箇所に書いている場合は全て修正しなければいけませんが、
関数を使っている場合は、関数の部分だけ直せば良いのでメンテナンスが楽ですしミスが減ります。
定義方法
関数は、funcキーワードで宣言し、関数名・引数・戻り値・実行文を定義します。
func 関数名(引数名1: 型, 引数名2: 型) -> 戻り値の型 {
関数が呼び出された時に実行される文
戻り値の型を記述した場合は、return文で戻り値を返却する
}
関数名
関数を呼び出す際の関数名になります。
print()
やtype(of:)
のprintやtypeが関数名にあたります。
基本的に、最初の文字は小文字で記載します。
複数の文字をつなげる場合は単語の最初の文字を大文字にすることが多いです。
print()
, type(of:)
, forEach()
, flatMap()
など
引数
引数は( )内に引数名: 型というフォーマットで定義し、
複数定義する場合は,(カンマ)
区切りで定義します。
戻り値
戻り値とは、関数の結果を呼び出し元に返す際の値です。
実行文の最後にreturn文を使用し返す値を指定します。
戻り値の型は、引数の( )の後の->
に続けて定義します。
なお、戻り値と戻り値の型が一致しない場合はコンパイルエラーになります。
Int型の引数を2つ取り、それらを足したInt型の戻り値を返す、
( Int, Int ) -> Int型のsum( )関数を作成します。
func sum(_ a: Int, _ b: Int) -> Int {
return a + b
}
sum(10, 5) // 15
実行方法
先ほどのコードでシレッと使っていますが、関数名に( )を付けて呼び出しています。
また、引数の指定がある場合は、関数名(引数名: 引数)のように呼び出します。
関数は実行後に出力となる戻り値を返します。
戻り値は変数や定数に代入可能することが出来ます。
引数を渡して関数を実行し、戻り値を定数へ代入するという一連の流れは次のように記述します。
let 定数名 = 関数名(引数名: 引数)
戻り値が定義されている関数を呼び出す場合は、基本的に変数や定数に代入します。
戻り値の代入を省略するとコンパイラが警告を出します。
その際の対処方法は2つあります。
対処方法その1は、
_
への代入によって明示的に戻り値を無視します。
func test() -> String {
return "戻り値です。"
}
_ = test()
対処方法その2は、@discardableResult
属性を付与することで警告を抑制できます。
@discardableResult
func test() -> String {
return "戻り値です。"
}
test()
以上、主な関数の使い方の紹介でした!
【Swift】関数の使い方〜その2〜 と
【Swift】関数の使い方〜その3〜 がございますので
合わせてそちらもご覧いただければと思います。
最後までご覧いただきありがとうございました。