目录
Kotlin 作为一门现代化的编程语言,不仅语法简洁,还提供了许多强大的高级特性。本文将深入探讨 Kotlin 的进阶语法和实际应用场景,帮助你写出更优雅、高效的代码。
1. 扩展函数与属性
扩展函数
扩展函数允许我们为现有类添加新功能,而无需继承或使用装饰器模式。
// 为 String 类添加扩展函数
fun String.addEnthusiasm(amount: Int = 1): String {
return this + "!".repeat(amount)
}
// 使用
val greeting = "Hello".addEnthusiasm(3)
println(greeting) // 输出: Hello!!!
// 泛型扩展函数
fun <T> List<T>.penultimate(): T {
if (size < 2) throw NoSuchElementException()
return this[size - 2]
}
val list = listOf(1, 2, 3, 4)
println(list.penultimate()) // 输出: 3
扩展属性
val String.upperCaseFirstLetter: String
get() = if (isNotEmpty()) this[0].uppercaseChar() + substring(1) else ""
// 使用
println("kotlin".upperCaseFirstLetter) // 输出: Kotlin
2. 高阶函数与 Lambda 表达式
函数类型
// 函数类型作为参数
fun calculate(x: Int, y: Int, operation: (Int, Int) -> Int): Int {
return operation(x, y)
}
// 使用 Lambda 表达式
val result = calculate(10, 5) {
a, b -> a + b }
println(result) // 输出: 15
// 函数类型作为返回值
fun getMultiplier(factor: Int): (Int) -> Int {
return {
number -> number * factor }
}
val triple = getMultiplier(3)
println(triple(5)) // 输出: 15
作用域函数
Kotlin 提供了五个作用域函数:let, run, with, apply, also
data class Person(var name: String, var age: Int, var city: String)
val person = Person("Alice"

最低0.47元/天 解锁文章
826

被折叠的 条评论
为什么被折叠?



