默认值
本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 59 课,共 93 课。
有时,你希望函数参数在调用方没有提供值时使用默认值。Kotlin 允许你直接在参数定义中指定默认值。
fun greet(name: String = "Guest") {
println("Hello, $name!")
}
fun main() {
greet("Alice")
greet()
}
// 输出:
// Hello, Alice!
// Hello, Guest!调用 greet() 时如果不传参数,Kotlin 会使用默认值 "Guest"。这样函数就更灵活了:调用者可以根据需要自定义行为,也可以使用合理的默认值。
你可以混合使用带默认值和不带默认值的参数。带默认值的参数通常放在最后:
fun createUser(name: String, role: String = "member"): String {
return "$name ($role)"
}
fun main() {
println(createUser("Alice", "admin"))
println(createUser("Bob"))
}
// 输出:
// Alice (admin)
// Bob (member)命名参数在使用默认值时尤其有用。它们能让你跳过某些参数,同时提供其他参数:
fun format(text: String, uppercase: Boolean = false, prefix: String = "") {
val result = if (uppercase) text.uppercase() else text
println("$prefix$result")
}
fun main() {
format("hello", prefix = "-> ")
}
// 输出:-> hello挑战
中等实现 buildGreeting(name: String, greeting: String = "Hello"): String。返回格式为 greeting, name! 的问候语。提供的测试驱动程序会调用你的函数两次:一次只传入名字,另一次传入名字和明确指定的问候语。不要编写 main,也不要在函数内打印内容。缺少问候语时,必须使用默认值 "Hello"。
亲手试试
fun buildGreeting(name: String, greeting: String): String {
// 为参数设置默认值,并返回问候语。
TODO("Build the greeting")
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Kotlin 在线编辑器