17611538698
info@21cto.com

Kotlin 2.3.20 已与 C、JavaScript/TypeScript 相兼容

动态 0 16 20小时前
图片

导读:Kotlin,这个与Java 竞争的语言更新后也支持基于名称的解构声明以及 Maven 和 Gradle 等工具了。

Kotlin 2.3.20 是 JetBrains 开发的 Kotlin 语言之最新版本,它新增了与C或 Objective-C 库的互操作模式,并支持基于名称的属性解构声明。

开发可以利用 Kotlin 接口在 JavaScript 和 TypeScript 中实现更多功能。

Kotlin 是在当地时间 3 月 16 日发布的更新,其目标是与 Java 语言竞争

Kotlin 官网为开发者提供了入门指南。在 2.3.0 版本中,Kotlin Native 技术引入了将 Kotlin 代码编译为原生二进制文件的机制,开发者就可以尝试目前处于实验阶段的 Objective-C 和 C 库互操作模式。

此功能面向在 Kotlin 多平台 (KMP) 库或应用程序中使用 C 或 Objective-C 库的开发者。

虽然 Kotlin Native 允许将 C 和 Objective-C 库导入 Kotlin,但是对于 KMP 库,此功能目前受到KMP 与旧版本编译器兼容性问题的影响。所以,若发布了一个使用某个 Kotlin 版本编译的 KMP 库,导入其中的 C 或 Objective-C 库可能会导致在更早版本的 Kotlin 项目中无法使用该库。

为了解决这个问题以及其他相关连锁反应,Kotlin 团队一直在改进互操作机制。

现在,从 Kotlin 2.3.20 开始,开发者可以通过编译器选项尝试新模式。

Kotlin 2.3.20 还引入了基于名称的解构声明,它将变量与属性名称匹配,而不是依赖于基于位置的componentN()函数。JetBrains 在公告中表示,此前Kotlin 的解构声明使用的是基于位置的解构。

JetBrains 表示,此次更新解除了在JavaScriptTypeScript端实现 Kotlin 接口的限制。此前,Kotlin 接口只能导出为 TypeScript 接口,而不能直接从 TypeScript 实现。此外,从 Kotlin 2.3.20 开始,Kotlin/JS 支持基于Rust的SWC 编译平台。这有助于将新版本的 JavaScript 和 TypeScript 代码转译为旧版本且兼容性更强的 JavaScript 代码。

Kotlin 2.3.20 是继 2025 年 12 月发布的Kotlin 2.3.0和 2 月发布的Kotlin 2.3.10之后推出的最新版本。

下而总结Kotlin 2.3.20 的其他特性:

  • 为了实现 Java 互操作性,编译器现在可以识别 Vert.x@Nullable注解进行空值检查。此版本还增加了对 Java注解@Unmodifiable的支持@UnmodifiableView,以便在 Kotlin 中将带注解的集合视为只读。
  • 在 Maven 构建工具项目中配置 Kotlin 更加便捷。现在,Kotlin 支持自动配置源代码根目录和 Kotlin 标准库。
  • Kotlin 2.3.20 完全兼容 Gradle 构建工具 7.6.3 至 9.3.0 版本。开发者也可以使用 Gradle 的最新版本。但需注意的是,这样做可能会导致出现弃用警告,并且某些新的 Gradle 功能可能无法正常工作。
  • 用于生成和使用 Java Lombok 声明的Lombok编译器插件已升级至 alpha 版本。计划使其功能达到生产就绪状态,目前仍在开发中。
  • 引入扩展Map.Entry.copy()函数是,可以创建映射的不可变副本Map.Entry。该函数允许在Map.entries 修改相关映射,通过先复制映射中的条目,来复用这些条目。

更多内容可访问Kotlin最新文档:

https://kotlinlang.org/docs/whatsnew2320.html#kotlin-js

作者:场长

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信