Menu
CoddyTech

单表达式函数

本课属于 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

单表达式函数非常适合简单的计算、验证和转换。它们能让代码保持简洁,并专注于函数的作用,而不是返回值的具体方式。

challenge icon

挑战

中等

编写一个函数 calculateDiscount,接收 price 和 percentage,并返回折后价格。

使用单表达式函数语法(使用 =,而不是花括号和 return)计算应用折扣后的最终价格。

折后价格的计算方式为:price - (price * percentage / 100)

参数:

  • price(Double):原价
  • percentage(Int):折扣百分比(0-100)

返回值:应用折扣后的价格(Double)

亲手试试

fun calculateDiscount(price: Double, percentage: Int): Double {
    // 在这里编写代码
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Kotlin 在线编辑器