Appearance
Kotlin 入门(4):函数进阶(默认参数、命名参数、内联函数)
Kotlin 的函数非常灵活,尤其是 默认参数、命名参数、内联函数。
1. 默认参数
函数可以为参数提供默认值,调用时就可以省略。
kotlin
fun greet(name: String = "游客") {
println("你好, $name")
}
fun main() {
greet() // 输出: 你好, 游客
greet("Alice") // 输出: 你好, Alice
}👉 好处:比方法重载更简洁。
2. 命名参数
调用函数时,可以按「参数名」指定值,避免记混顺序。
kotlin
fun showUser(name: String, age: Int) {
println("名字: $name, 年龄: $age")
}
fun main() {
showUser(age = 20, name = "Bob") // 顺序可变
}👉 在参数多时特别清晰。
3. 结合使用:默认参数 + 命名参数
kotlin
fun connect(host: String = "localhost", port: Int = 3306) {
println("连接到 $host:$port")
}
fun main() {
connect() // localhost:3306
connect("192.168.1.1") // 192.168.1.1:3306
connect(port = 8080) // localhost:8080
}4. 内联函数(inline)
在高阶函数中,内联函数能避免额外开销,提高性能。 常见于 lambda 回调。
kotlin
inline fun measureTime(block: () -> Unit) {
val start = System.currentTimeMillis()
block()
val end = System.currentTimeMillis()
println("耗时: ${end - start}ms")
}
fun main() {
measureTime {
Thread.sleep(500)
}
}👉 inline 的作用:调用时把函数体「内联展开」,避免函数调用栈的开销。 👉 在 Android/多层回调中用得很多。
5. 小结
- 默认参数:减少重载,让函数调用更灵活
- 命名参数:让调用更清晰,不怕顺序错乱
- 内联函数:提升高阶函数性能,常见于回调/工具函数