単一式関数
CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 60/93。
関数に単一の式だけが含まれている場合、Kotlinではより簡潔な構文を使用できます。波括弧とreturnキーワードを使う代わりに、等号の後に式を直接記述できます。
単一式による同等の関数と比較した通常の関数を示します:
// 通常の関数
fun double(n: Int): Int {
return n * 2
}
// 単一式関数
fun double(n: Int): Int = n * 2どちらのバージョンも同じように動作しますが、単純な操作には2つ目のほうが短く、読みやすくなります。
Kotlin では、単一式関数の戻り値の型さえ推論できるため、戻り値の型を完全に省略できます。
fun double(n: Int) = n * 2
fun greet(name: String) = "Hello, $name!"この構文は条件式でも美しく機能します。
fun max(a: Int, b: Int) = if (a > b) a else b
fun isEven(n: Int) = n % 2 == 0単一式関数は、単純な計算、検証、変換に最適です。値を返す仕組みではなく、関数が何を行うかに焦点を当て、コードをすっきりと保てます。
チャレンジ
中級price と percentage を受け取り、割引後の価格を返す関数 calculateDiscount を作成してください。
割引を適用した後の最終価格を計算するため、単一式関数の構文(中かっこと return の代わりに = を使用)を使ってください。
割引後の価格は次のように計算されます:price - (price * percentage / 100)
パラメーター:
price(Double):元の価格percentage(Int):割引率(0-100)
戻り値:割引適用後の価格(Double)
自分で試してみよう
fun calculateDiscount(price: Double, percentage: Int): Double {
// ここにコードを書いてください
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド