Skip to content

Syntactic Sugar

kotlin 常用语法糖

1. 作用域函数

函数 Context 返回值 用途
let it 表达式结果 变换、防空指针
run this 表达式结果 在对象作用域计算
apply this 对象本身 初始化配置对象
also it 对象本身 副作用、调试
with(obj) this 表达式结果 多次操作对象

2. 可空处理增强

  • ?. 空安全调用
  • ?: Elvis 替换
  • as? 安全类型转换
  • !! 强制非空(慎用)

3. 解构声明

语法:

val (x, y) = point

展开:

point.component1()
point.component2()

4. Lambda 简化

  • 尾随 lambda:f { ... }
  • 单参数默认名:it
  • return@label 控制流标签

5. 操作符重载

示例:

1
2
3
operator fun plus(...)
operator fun get(index: Int)
operator fun contains(x)

6. 范围表达式

1
2
3
1..10
10 downTo 1
1..10 step 2

7. 扩展函数

fun String.x(): Int = ...

8. 属性委托

val x by lazy { ... }
var y by MyDelegate()

9. 函数引用

::func
object::method

10. when 作为表达式

1
2
3
4
5
val result = when (x) {
    1 -> "a"
    2 -> "b"
    else -> "c"
}

11. Kotlin 集合 DSL

1
2
3
listOf(...)
mapOf(...)
buildList { add(1) }

12. 内联 inline

减少 lambda 分配,允许非局部 return。