JetBrains发布Kotlin 2.4.20-Beta2:多项新特性亮相,编译器原生镜像首登场!

📅 2026/7/28 18:48:23
JetBrains发布Kotlin 2.4.20-Beta2:多项新特性亮相,编译器原生镜像首登场!
JetBrains发布Kotlin 2.4.20-Beta2多能力更新多项实验性功能亮相JetBrains于7月2日发布了Kotlin 2.4.20-Beta2这是该公司多平台编程语言的一次更新。此版本具备从Wasmtime运行时到JavaScript函数以及Swift适配等多种能力。新特性与改进Kotlin 2.4.20-Beta2带来了多方面的更改和新功能。在Wasm方面有更改具备新的Swift导出功能、用于浏览器测试的DSL还实现了Kotlin编译器原生镜像的首次亮相。在新功能和改进上新版本改变了Kotlin/Wasm在JsFun声明中处理顶级require()调用的方式使伴生对象的初始化顺序与JVM行为保持一致。现在Kotlin/Wasm会在子类伴生对象之前初始化超类伴生对象此前初始化顺序可能颠倒导致跨平台行为不一致。同时在Kotlin Gradle插件中支持将Wasmtime作为wasmWasi目标的运行时。跨语言支持与测试功能Kotlin 2.4.20-Beta2为Swift导出引入了跨语言继承支持常见用例是反向导入模式开发者可在Kotlin中定义契约在Swift端提供特定平台实现。对于Kotlin/JS引入了用于浏览器测试的实验性DSL并支持将挂起lambda表达式导出为JavaScript异步函数。此前无法从Kotlin/JS库中导出包含挂起lambda表达式的声明现在Kotlin编译器会自动处理Kotlin挂起函数与原生JavaScript的async/await模型之间的桥接JetBrains表示这对混合Kotlin/TypeScript代码库很有用。实验性功能此版本引入了对协程堆栈跟踪恢复的支持在标准库中添加了StackTraceRecoverable接口该功能目前处于实验阶段改进了与kotlinx.coroutines库的集成有助于调试协程异常。同样处于实验阶段的还有四个用于检查集合元素是否相等和唯一的新函数.allDistinct()、.allDistinctBy()、.allEqual()和.allEqualBy()。这些函数可用于集合、序列和数组使用结构相等性比较元素。JetBrains表示此前检查集合元素是否全部不同或全部相等需要使用低效的代码模式。编译器原生镜像发布Kotlin 2.4.20-Beta2的一大亮点是首次发布了Kotlin编译器原生镜像。JetBrains称该原生镜像可直接替代标准的kotlinc命令行工具具备更快的启动时间和更高的性能此功能同样处于实验阶段。