【初心者向け】SwiftとKotlinの関数と便利な書き方

swift_kotlin_function

SwiftとKotlinの関数の基本的な書き方と、便利な書き方も一緒にまとめます。

SwiftとKotlinの関数は、非常に汎用的に使える書き方が可能。

この記事で、SwiftとKotlinの関数の基礎をマスターする事ができます。

SwiftとKotlinの関数と便利な書き方

SwiftとKotlinの関数は非常に便利な書き方が可能。

使いこなす事で可読性を上げる事ができます。

✔ SwiftとKotlinの関数は可読性が高い

  • 引数に初期値を与える事でオーバーロードを減らす事ができる
  • 関数の処理と呼び出しで引数名を変える事ができる
  • 関数を呼び出す時に引数名を省略する事ができる

SwiftとKotlinの関数について、それぞれ解説していきます。

知っていればやり方は簡単なのでご安心を。

✔ SwiftとKotlinの関数と便利な書き方

  1. Swiftの関数
  2. Kotlinの関数

Swiftの関数

Swiftの関数について、関数の基本的な書き方から便利な機能まで以下のように解説します。

中でも『デフォルト引数』は超便利。

関数の書き方によっては、同じ関数名で、複数の関数を定義するオーバーロードを減らす事ができます。

Swiftの関数について、詳細は以下より。

Swiftの関数の書き方

Swiftの関数の最も基本となる書き方。

Swift関数の定義と呼び出し方です。


<!関数の定義>
func 関数名(引数名: 型) -> 戻り値の型 {
}

<!関数の呼び出し方>
関数名(引数名: 引数)

初心者の方向けの予備知識。

Swiftに限らず、関数の引数は以下のような2種類に分ける事ができます。

✔ 関数の予備知識

  • 仮引数:関数を定義した際に用いられる引数
  • 実引数:関数を呼び出す時に関数に渡す引数

外部引数名と内部引数名

Swiftの関数では『外部引数名』と『内部引数名』を別々に定義する事が可能。

✔ Swift関数の『外部引数名』と『内部引数名』

  • 外部引数名:関数呼び出しの際に使用する引数名
  • 内部引数名:関数処理内で使用する引数名

以下が使い方の例です。

関数定義に、呼び出し用の引数名(外部引数名)を一緒に定義してあげてるだけ。


func 関数名(外部引数名 内部引数名: 型) -> 戻り値の型 {
<!この中では『内部引数名』を使う>
}

<!呼び出し方>
関数名(外部引数名: 引数)

こんな感じで使います。


func convertString(from value: Int) -> String {
    return "\(value)"
}

<!呼び出し方>
convertString(from: 100)

使い方によっては可読性を上げる事が可能。

使い方も簡単です。

Swiftの関数は引数名の省略が可能

Swiftの関数では、関数を呼び出す際、Kotlinと異なり基本的に引数名まで書く必要があります。

ですが、外部引数名に「_」と定義するだけで関数呼び出しで引数名を省略可能に。


func 関数名(_ 引数名: 型) -> 戻り値の型 {
}

<!呼び出し方>
関数名(引数)

呼び出し時に引数名を省略できます。


func convertStringFrom(_ value: Int) -> String {
    return "\(value)"
}

<!呼び出し方>
convertStringFrom(100)

Swiftの関数のデフォルト引数

Swiftの関数では、引数に初期値を設定しておく事が可能。

Swiftの関数でオーバーロードを減らせるのは、この機能のおかげ。かなり便利です。


func greeting(honorificTitle: String = "Mr.", name: String = "Smith") -> String {
   return "Hello," + honorificTitle + name
}

<!指定してない方の引数はデフォルト値となる>
greeting(honorificTitle: "Mrs.")
<!出力>
Hello, Mrs. Smith

<!引数を指定せずに呼び出すと両方がデフォルト値>
greeting()
<!出力>
Hello, Mr. Smith

<!両方の引数を指定する事も可能>
greeting(honorificTitle: "Mrs.", name: "Dewi")
<!出力>
Hello, Mrs. Dewi

Kotlinの関数

Swiftの関数同様に、Kotlinの関数についても関数の基本的な書き方と便利な機能を解説します。

Swiftの関数と同じで、やはり『デフォルト引数』は超便利。

関数の書き方によっては、同じ関数名で、複数の関数を定義するオーバーロードを減らす事ができます。

Swiftの関数について、詳細は以下より。

Kotlinの関数の書き方

Kotlinの関数の最も基本となる書き方。

Kotlin関数の定義と呼び出し方です。

KotlinはSwiftと異なり関数を呼び出す時、標準で引数名が省略されているのがポイント


<!基本的な形>
fun 関数名(引数名: 型): 戻り値の型 {
}

<!呼び出し方>
関数名(引数)

単一式関数

Swiftの関数ではできない、Kotlin特有の関数の書き方。

1つの式だけからなる関数はブロック({}の部分)が省略できる。戻り値の記述も省略できます。

下の例のように『fun 関数名(引数1: 型, 引数2: 型) = 処理』とかなりスッキリ書く事が可能。


<!省略前>
fun add(value1: Int, value2: Int): Int {
   return value1 + value2
}

<!上記の式を単一式関数で書くとこうなる>
fun add(value1: Int, value2: Int) = value1 + value2

Kotlinの関数の名前つき引数

こちらはSwiftの関数と考え方が逆になります。

Swiftの関数は、関数を呼び出す時、基本的に引数の名前を書く。

一方、Kotlinでは関数の呼び出し時、基本的に引数の名前は書かない。

Kotlinの関数では、関数呼び出しの際に『引数名 = 値』と呼び出す事で、どの引数にどの値を与えたのか明確にする事ができます。


fun greeting(greet: String, honorificTitle: String, name: String): String {
   return greet + honorificTitle + name
}

<!『引数名 = 値』で引数に渡した値が明確になる。>
greeting(greet = "Hello,", honorificTitle = "Mrs.", name = "Smith")
<!出力>
Hello, Mrs. Smith

Kotlinの関数のデフォルト引数

Swiftの関数と同様、Kotlinの関数も引数に初期値を設定しておく事が可能。

Kotlinの関数も、この機能のおかげでオーバーロードを減らせます。かなり便利。

なお、複数のデフォルト引数がある場合は、引数名を明記(名前付き引数)して呼び出すべし。


fun greeting(honorificTitle: String = "Mr.", name: String = "Smith"): String {
   return "Hello," + honorificTitle + name
}

<!指定してない方の引数はデフォルト値となる>
greeting(honorificTitle = "Mrs.")
<!出力>
Hello, Mrs. Smith

<!引数を指定せずに呼び出すと両方がデフォルト値>
greeting()
<!出力>
Hello, Mr. Smith.

<!両方の引数を指定する事も可能>
greeting(honorificTitle = "Mrs.", name = "Dewi")
<!出力>
Hello, Mrs. Dewi.

以上です。

いつもご静聴ありがとうございます!

エンジニアの皆さん、お疲れ様です。