関数の定義の種類
大きく3つあります。以下に書式を紹介します。
Java的な定義の方法
- 引数の名前と型名を定義します。
- 戻り型を定義します。戻り値がない時には、戻り型を Unit とします。
- 処理を中括弧で囲みます。
- 戻り値を指定します。
Java的な定義
アクセス修飾子(省略可) fun 関数名( 引数名: 型名, ・・・ ): 戻り型 {
処理
return( 戻り値 )
}
Scalaでは処理の最後の式の評価結果が暗黙の戻り値となりますので、 return キーワードを省略することができます。しかし、コトリンでは戻り値は明示的に return キーワードで示す必要があります。
コトリン関数的な定義の方法
- 引数の名前と型名を定義します。
- 戻り型を定義します。
- 処理を = 以降に定義します。
コトリン関数的な定義
アクセス修飾子(省略可) fun 関数名( 引数名: 型名, ・・・ ): 戻り型 = 戻り値を返す処理
戻り型を省略した定義の方法
- 引数の名前と型名を定義します。
- 処理をイコール記号 = 以降に定義します。
戻り型を省略した定義
アクセス修飾子(省略可) fun 関数名( 引数名: 型名, ・・・ )= 戻り値を返す処理
コード例
fun 中括弧付き( 引数1: String, 引数2: Int ):String {
return( 引数1 + 引数2 )
}
fun イコール付き戻り値あり( 引数1: String, 引数2: Int ): String = 引数1 + 引数2
fun イコール付き戻り値なし( 引数1: String, 引数2: Int ): Unit = println( 引数1 + 引数2 )
fun 戻り型省略戻り値あり( 引数1: String, 引数2: Int ) = 引数1 + 引数2
fun 戻り型省略戻り値なし( 引数1: String, 引数2: Int ) = println( 引数1 + 引数2 )
fun main(args: Array<String>) {
println( 中括弧付き( "ほげ", 55 ) )
println( イコール付き戻り値あり( "ばあば", 66 ) )
イコール付き戻り値なし( "じいじ", 77 )
println( 戻り型省略戻り値あり( "はげ", 88 ) )
}
実行結果
ほげ55
ばあば66
じいじ77
はげ88
蛇足
ちなみに上記のコード例のように関数名や変数名を2バイト文字、すなわちUnicodeで記述すると、Markdownではピンク背景の赤茶色の文字で表示されます。実はこれは記述エラーみたいです。CSSのクラス名が err になっています。実に見にくい & 醜いと思います。
クラス名が"err"
<span class="err">中括弧付き</span>