素材阁

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 语法速查:基础语法、函数与扩展、集合与类、协程与常用、命令行工具;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:基础语法、函数与扩展、集合与类、协程与常用、命令行工具。
  2. 点「语法 / 命令」列复制片段,替换类型与字段名。
  3. 空安全优先用 ?. 与 ?:,尽量别用 !!。
  4. 数据类用 data class;构建用 Gradle(见 Gradle 速查)。

常见问题

?.、?:、!! 分别是什么?
?. 是安全调用(对象为空则整体为 null);?: 是 Elvis 运算符(左侧为空时取右侧默认值);!! 是非空断言(为空直接抛异常),能不用就不用。
val 和 var 有什么区别?
val 是只读引用(赋值后不能重新指向),类似 Java 的 final;var 可变。注意 val 只保证引用不变,对象内部若可变仍可修改。
扩展函数是什么?
在不修改类的前提下给它「新增方法」,如 fun String.shout()。扩展是静态解析的,不会真正改变原类,也无法访问私有成员。
协程和线程有什么区别?
协程是更轻量的「可挂起」任务,挂起时不占用线程,适合大量 IO 并发;线程是操作系统调度单位。Kotlin 用 suspend 与结构化并发管理协程。

延伸阅读

相关工具