LoginSignup
1
0

More than 5 years have passed since last update.

はじめてのKotlin:関数定義のバリエーション

Last updated at Posted at 2017-09-21

関数の定義の種類

 大きく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>
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0