Kotlin 2.1 发布:编程语言有哪些变化
JetBrains 正式宣布推出 Kotlin 2.1 稳定版。这是继 2024 年 5 月发布的 2.0 版本之后的第一个重大版本。新版本带来了许多改进,涉及基础语法和多平台开发基础设施。我们来分析最重要的新特性。
语言的关键变化
开发人员专注于提高稳定性和扩展语言功能。主要新特性:
- 稳定的 non-local break 和 continue 模式。此前用于内联 lambda 的实验性功能现已最终确定。现在,您可以从 lambda 表达式内部(例如在
forEach中)中断外部循环,而无需额外的包装器。这简化了编写简洁代码的过程。 - 受歧视联合的子类型(实验性)。引入了对密封类和接口的子类型支持。现在,您可以声明密封接口并在类中继承它们,同时保持对 when 表达式的严格检查。
- 改进了对 Java 21 的支持。Kotlin 编译器现在可以正确处理新的 Java 结构,例如
record patterns和带有模式的switch。这对于迁移到最新 Java 版本的项目尤其重要。
Kotlin Multiplatform 的更新
Kotlin 2.1 继续发展多平台生态系统:
- 稳定的 Kotlin/Wasm。对 WebAssembly 的支持现已最终确定。现在,您可以将代码编译为 Wasm,在浏览器中或通过 Wasmtime 在服务器上运行它。
- 加速 Kotlin/Native 的编译。优化了与 LLVM 的协作。据 JetBrains 估计,原生项目的构建时间缩短了 15-20%。
- Android 的新工件。添加了对 Android Gradle Plugin 8.7 的支持,并改进了与 Jetpack Compose 库的兼容性。
标准库的变化
stdlib 中出现了几个有用的函数:
buildMap和buildSet函数。现在,您可以使用构建器创建不可变集合,类似于buildList。这使得代码更安全、更具表现力。- 用于处理日期的新方法。添加了
LocalDate.daysUntil和LocalDate.monthsUntil。它们简化了无需第三方库即可计算日期差异的过程。 - 改进了对可空类型的处理。
?.let函数现在可以正确处理嵌套调用,而无需创建临时变量。
性能与面向开发者的改进
JetBrains 也关注了开发者工具:
- IntelliJ IDEA 中的智能自动补全。Kotlin 插件已更新至 2.1 版本。现在,IDE 会根据上下文提供更相关的自动补全选项。
- 优化 K2 编译器的工作。加速了代码分析和错误输出。在包含数千个文件的大型项目中尤其明显。
- 新的性能检查器。内置分析器会提示,