先用人话理解
函数像一台小机器:你可以给它输入(参数),它按规则工作,再把结果交出来(返回值)。Kotlin 用 `fun` 定义函数;如果函数要返回结果,就写明返回类型并用 `return` 返回。
记住这一点
`price` 和 `discount` 是参数。`discount: Double = 0.9` 表示调用时可以省略这个参数。返回类型写在 `): Double` 后面。示例里的折扣系数是 0.9,表示支付原价的 90%,也就是打九折。
`price` 和 `discount` 是参数。`discount: Double = 0.9` 表示调用时可以省略这个参数。返回类型写在 `): Double` 后面。示例里的折扣系数是 0.9,表示支付原价的 90%,也就是打九折。
看一段代码
先看整体,再留意每一行的中文注释。可以复制到 Kotlin Playground 亲自运行。
Kotlin · 1.9+
// 计算打折后的价格,返回 Double
fun discountedPrice(price: Double, discount: Double = 0.9): Double {
return price * discount // 默认按原价的 90% 计算
}
// 向指定的人打招呼
fun greet(name: String) {
println("你好,$name!") // 没有显式返回值时,返回 Unit
}
fun main() {
val finalPrice = discountedPrice(100.0) // 使用默认折扣系数
println(finalPrice) // 输出 90.0
println(discountedPrice(100.0, 0.8)) // 自定义系数,输出 80.0
greet("小林") // 调用函数
}轮到你动手
抄下来,改一改
写一个 `fun add(a: Int, b: Int): Int`,返回两数之和;再为其中一个参数设置默认值。
小提示:先让原代码成功运行,再一次只改一个地方。
三道小测
先自己选答案,再展开核对。答案不会自动揭晓。
1. 定义函数使用哪个关键字?
2. 函数返回一个整数,返回类型通常写什么?
3. 默认参数的作用是什么?
1. B. fun。
2. A. Int。
3. A. 调用时可以不提供有默认值的参数。
深入阅读
官方函数文档介绍参数、返回值、单表达式函数和默认参数。
https://kotlinlang.org/docs/functions.html ↗