Kotlin 语法速查
共 27 条 Kotlin 常用语法,覆盖基础语法、函数与扩展、集合与类、协程与常用、 命令行工具五组内容。支持搜索与分类筛选,点击即可复制。
基础语法
val 不可变、var 可变。
| 语法 / 命令 | 说明 |
|---|---|
| 只读 val 与可变 var(类型可推导) | |
| 字符串模板 | |
| 可空类型、安全调用 ?. 与 Elvis ?: | |
| 非空断言 !!(为空会抛异常,慎用) | |
| when 表达式 | |
| 类型转换(toInt / toDouble 等) |
函数与扩展
函数、默认参数与扩展函数。
| 语法 / 命令 | 说明 |
|---|---|
| 函数表达式体与默认参数 | |
| 扩展函数 | |
| Lambda 表达式 | |
| 高阶函数与隐式参数 it | |
| 内联函数 |
集合与类
集合操作与数据类。
| 语法 / 命令 | 说明 |
|---|---|
| 只读集合 | |
| 过滤与映射 | |
| 排序与分组 | |
| 数据类(自动 equals / copy / toString) | |
| 继承(类默认为 final,需 open) | |
| 密封类型,搭配 when 穷举 |
协程与常用
异步与常用工具。
| 语法 / 命令 | 说明 |
|---|---|
| 挂起函数 | |
| 启动协程(演示用;生产用 scope) | |
| 结构化并发 | |
| 延迟初始化(使用前必须赋值) | |
| 惰性初始化 |
命令行工具
编译与构建。
| 语法 / 命令 | 说明 |
|---|---|
| 编译为可执行 jar | |
| 直接运行脚本 | |
| 运行编译产物 | |
| Gradle 构建(详见 Gradle 速查) | |
| 运行 .kts 脚本 |
使用说明
Kotlin 语法速查:基础语法、函数与扩展、集合与类、协程与常用、命令行工具;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基础语法、函数与扩展、集合与类、协程与常用、命令行工具。
- 点「语法 / 命令」列复制片段,替换类型与字段名。
- 空安全优先用 ?. 与 ?:,尽量别用 !!。
- 数据类用 data class;构建用 Gradle(见 Gradle 速查)。
常见问题
- ?.、?:、!! 分别是什么?
- ?. 是安全调用(对象为空则整体为 null);?: 是 Elvis 运算符(左侧为空时取右侧默认值);!! 是非空断言(为空直接抛异常),能不用就不用。
- val 和 var 有什么区别?
- val 是只读引用(赋值后不能重新指向),类似 Java 的 final;var 可变。注意 val 只保证引用不变,对象内部若可变仍可修改。
- 扩展函数是什么?
- 在不修改类的前提下给它「新增方法」,如 fun String.shout()。扩展是静态解析的,不会真正改变原类,也无法访问私有成员。
- 协程和线程有什么区别?
- 协程是更轻量的「可挂起」任务,挂起时不占用线程,适合大量 IO 并发;线程是操作系统调度单位。Kotlin 用 suspend 与结构化并发管理协程。