Kotlin 1.9.0 发布:带来多项新特性,改进 Multiplatform/Native 支持

这篇具有很好参考价值的文章主要介绍了Kotlin 1.9.0 发布:带来多项新特性,改进 Multiplatform/Native 支持。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

新特性

Kotlin 的最新版本引入了许多新的语言特性,包括用于开放范围的…<操作符、扩展正则表达式等。此外,它还改进了 Kotlin Multiplatform 和 Kotlin/Native 支持。

Kotlin 1.9 稳定了与枚举类关联的 entries 属性,它会返回所定义的枚举常量的所有值的列表。entries 弃用了 values(),它不再每次分配一个新数组,而是采用了预分配的值列表,提升了性能。

另一个小的语言特性是新引入了用于表示开放范围的…<操作符。JetBrains 表示,这个新语法可以让不包括上限的情况看起来更清晰。

在 Kotlin 1.9 中,正则表达式变得更加灵活,这要归功于一个新的函数 group。该函数可以按名称检索正则表达式组。如下所示,可以用几个命名组定义正则表达式:

val regex = """\b(?<city>[A-Za-z\s]+),\s(?<state>[A-Z]{2}):\s(?<areaCode>[0-9]{3})\b""".toRegex()

然后,使用组名来访问匹配的值:

val match = regex.find(input)!!
println(match.groups["city"]?.value)
// Austin
println(match.groups["state"]?.value)
// TX
println(match.groups["areaCode"]?.value)

Kotlin 1.9 还改进了对 Kotlin/Native 和 Kotlin Multiplatform 的支持。

在 Kotlin/Native 中,现在可以预览自定义内存分配器了,其目的是提高 Kotlin/Native 内存管理器的运行时性能。自定义分配器将系统内存划分为多个页,并允许按顺序单独进行清理。使用编译器选项-Xallocator= Custom 可以启用自定义内存分配器。

Objective-C/Swift 互操作性也得到了改善,这要归功于新引入的 Objective-C/Swift 对象释放策略。现在,对象释放会在适当的时候在主线程上进行,减少了内存泄漏的机会。

Kotlin 1.9 的其他新特性还包括:可以为 iOS 模拟器测试配置独立的 iOS 模式;可以跨 Kotlin JVM 和 Kotlin/Native 对链接问题进行统一处理。特别是,当存在链接问题时,构建将不再失败。

再来看下 Kotlin Multiform。它包括 Gradle 配置缓存预览,以及改进 Android 目标支持,为谷歌新开发的一个 Gradle 插件铺平了道路。

最后,关于 Kotlin 1.9,值得一提的是,它包含面向 JVM 的新的 K2 编译器的 Beta 版本,旨在提供更好的性能,加快语言特性开发,并为多平台对象提供更好的架构。在 Kotlin 2.0 中,K2 将成为稳定版本,并成为默认的编译器。

以下是 Kotlin 1.9 的详细变更信息全部官方声明。

Kotlin 1.9.0 版本现已发布,适用于 JVM 的 K2 编译器目前处于测试版阶段。 这个版本包含新的语言功能以及针对 Kotlin Multiplatform 和 Kotlin/Native 的改进。

以下是此版本的一些亮点:

  • 新的 Kotlin K2 编译器更新
  • 枚举类值函数的稳定替换
  • 开放范围的稳定 …< 运算符
  • 通过名称获取正则表达式捕获组的新通用函数
  • 用于创建父目录的新路径实用函数
  • Kotlin Multiplatform 中的 Gradle 配置缓存预览
  • Kotlin Multiplatform 中对 Android 目标支持的更改
  • Kotlin/Native 中自定义内存分配器的预览
  • Kotlin/Native 中的库链接
  • Kotlin/Wasm 中的大小相关优化

Kotlin K2 编译器

JetBrains 的 Kotlin 团队持续稳定新的 K2 编译器,我们很高兴地宣布,在我们迈向 Kotlin 2.0 版本的旅程中,适用于 JVM 的新 Kotlin K2 编译器达到了测试版里程碑。 编译器已经过彻底测试,成功编译了 Kotlin 团队用于质量保证的大量项目。

K2 编译器旨在带来重大性能改进,加快新语言功能的开发,统一 Kotlin 支持的所有平台,并为多平台项目提供更好的架构。

我们在促进与其他流行编译器插件的兼容性方面取得了巨大进步。 对 Kotlin Symbol Processing (KSP) 和 Jetpack Compose 的支持即将推出,预计很快集成 K2 支持。 我们邀请您在 Kotlin/JVM 项目上测试 K2,并在我们的问题跟踪器中分享您的宝贵反馈。 您的意见将帮助我们完善 K2,使其在 Kotlin 2.0 中成为默认的稳定编译器。

我们的目标还不止于此。 我们希望通过 K2 编译器实现同样高质量的多平台支持。 这一愿景与我们在 Kotlin Multiplatform 稳定性方面的持续努力相符合。 我们的目标是在 Kotlin Multiplatform 稳定版本发布的同时,在 K2 中实现对多平台项目的完全测试版品质支持。

我们热切期待您的反馈,同时,我们也将在这段精彩的开发旅程中继续前进。 Kotlin 2.0 的未来将由我们共同塑造。

有关如何启用 K2 编译器的更多信息,请参阅在项目中试用 K2 编译器。

安装 Kotlin 1.9.0

如果您已经在使用 IntelliJ IDEA 2022.3.3 或 2023.1.1,IDE 会自动建议将 Kotlin 更新到 1.9.0。 您也可以按照这些说明手动更新:https://kotlinlang.org/docs/releases.html#update-to-a-new-release

IntelliJ IDEA 2023.2 将内置 Kotlin 1.9.0 插件。

对于 Android Studio Giraffe (223) 和 Hedgehog (231),Kotlin 1.9.0 插件将随即将推出的 Android Studio 更新一起提供。 如果需要命令行编译器,请从 GitHub 版本页面下载:https://github.com/JetBrains/kotlin/releases/tag/v1.9.0文章来源地址https://www.toymoban.com/news/detail-627833.html

到了这里,关于Kotlin 1.9.0 发布:带来多项新特性,改进 Multiplatform/Native 支持的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java 21即将发布,探索Java 21新特性和改进

    Java 21是 Java 17之后的下一个 LTS版本。虚拟线程在 Java 21中将成为正式功能。Java 21 有望将会成为继 java8 之后又一个流行的 Java 版本。 Java 21将在 2023 年 9 月 19 日发布 3.1 正式功能 虚拟线程 (Virtual Threads) 顺序集合(Sequenced Collections) 记录类型的模式(Record Patterns) switch 的模

    2024年02月07日
    浏览(35)
  • Kotlin Multiplatform 创建多平台分发库

    目标:通过本教程学习如何使用 Kotlin Multiplatform Library 创建多平台分发库(iOS,安卓)。 1、本教程使用的是Android Studio创建 2、选择 新建工程,选择 Kotlin Multiplatform Library 3、点击next 输入需要创建的项目名称以及存放的位置 4、点击next,输入要创建的库的名称,默认shared 建议都

    2024年02月15日
    浏览(27)
  • Kotlin Multiplatform项目探索之KMChat

    这是当前在 Kotlin Multiplatform 官方文档中提议的用例结构。Kotlin Multiplatform 中包含的许多子组件已经发布了稳定版本,即使目前不稳定的组件也在迅速更新。 本文中的演示项目包括 Compose Multiplatform - Web (Experimental)、iOS (Alpha) 和 Kotlin Multiplatform - Kotlin/Native (Beta)。在进行产品项

    2024年02月11日
    浏览(22)
  • Kotlin MultiPlatform:构建跨平台应用的未来

    1.1 Kotlin MultiPlatform简介 Kotlin MultiPlatform(简称KMP)是一种由JetBrains开发的跨平台开发解决方案,它建立在Kotlin语言之上。KMP允许开发者使用一套Kotlin代码来构建适用于多个平台的应用程序,包括移动应用、后端服务和嵌入式系统等。KMP提供了共享代码的功能,同时也允许开发

    2024年04月17日
    浏览(32)
  • 开源 | 从 SQLlin 的更新看 Kotlin Multiplatform 技术更迭

    作者简介 禹昂,携程移动开发专家,Google 开发者专家(Android),上海 Kotlin User Group 组织者,图书《Kotlin 编程实践》译者。 2022 年底,我们在携程的 Github organization 下开源了 SQLlin,SQLlin 是一款基于 Kotlin DSL 及 KSP 技术的,支持众多平台的 Kotllin Multipllatform SQLite 数据库框架

    2024年02月20日
    浏览(33)
  • Kotlin & Compose Multiplatform 跨平台开发实践之加入 iOS 支持

    几个月前 Compose Multiplatform 的 iOS 支持就宣布进入了 Alpha 阶段,这意味着它已经具备了一定的可用性。 在它发布 Alpha 的时候,我就第一时间尝鲜,但是只是浅尝辄止,没有做过多的探索,最近恰好有点时间,于是我又重新开始学习 Compose Multiplatform ,并且尝试移植我已有的项

    2024年02月07日
    浏览(34)
  • Kotlin & Compose Multiplatform 跨平台(Android端、桌面端)开发实践之使用 SQLDelight 将数据储存至数据库

    取标题的时候我还在想,我应该写 Compose 跨平台呢还是写 Kotlin 跨平台。 毕竟对于我的整体项目而言,确实是 Compose 跨平台开发,但是对于我这篇文章要说的东西,那其实也涉及不到多少 Compose 相关的内容,更多的应该是 Kotlin Multiplatform 相关的内容。 二者取舍不下,干脆都

    2024年02月15日
    浏览(36)
  • Kotlin特性学习笔记

    2,by修饰变量,实现属性委托 3,operator修饰方法,表示重写操作符 kotlin所有运算操作符: 一元操作符(Unary Operators) +a a.unaryPlus() -a a.unaryMinus() !a a.not() a++ a.inc() 二元操作符(  Binary Operators)

    2024年01月18日
    浏览(36)
  • Kotlin 丰富的函数特性

    Kotlin 是一门基于 JVM 的现代编程语言,它提供了丰富的函数特性,使得编写简洁、灵活且可读性强的代码成为可能。以下是 Kotlin 函数的一些主要特性: 在 Kotlin 中,使用 fun 来声明函数。函数声明的基本结构如下: functionName 是你为函数取的名字。 parameters 是函数的参

    2024年02月11日
    浏览(25)
  • MySQL 8.3 发布, 它带来哪些新变化?

    1月16号 MySQL 官方发布 8.3 创新版 和 8.0.36 长期支持版本 (该版本 没有新增功能,更多是修复bug ),本文基于 官方文档 说一下 8.3 版本带来的变化。 一 增加的特性 1.1 GTID_NEXT 支持增加 TAG 选项。 之前的版本中 GTID_NEXT=UUID:number ,现在可以增加 一个 tag 字符串 GTID_NEXT=UUID:[TAG]:n

    2024年01月21日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包