单表达式函数
本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 60 课,共 93 课。
当函数只包含一个表达式时,Kotlin 提供了更简洁的语法。你可以不用花括号和 return 关键字,而是使用等号,后面直接写表达式。
下面是常规函数及其单表达式等价写法的对比:
// 普通函数
fun double(n: Int): Int {
return n * 2
}
// 单表达式函数
fun double(n: Int): Int = n * 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单表达式函数非常适合简单的计算、验证和转换。它们能让代码保持简洁,并专注于函数的作用,而不是返回值的具体方式。
挑战
中等编写一个函数 calculateDiscount,接收 price 和 percentage,并返回折后价格。
使用单表达式函数语法(使用 =,而不是花括号和 return)计算应用折扣后的最终价格。
折后价格的计算方式为:price - (price * percentage / 100)
参数:
price(Double):原价percentage(Int):折扣百分比(0-100)
返回值:应用折扣后的价格(Double)
亲手试试
fun calculateDiscount(price: Double, percentage: Int): Double {
// 在这里编写代码
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Kotlin 在线编辑器