您现在的位置是:首页 > 文章详情

Kotlin 1.5.30 首个 RC 版本发布

日期:2021-08-12点击:524

Kotlin 1.5.30 发布了首个 RC 版本。RC 意味着所有特性已确定,在正式发布前的主要工作是修复 bug。

主要新特性包括:

  • 对 Opt-in 要求的更新
  • Kotlin/JS IR 后端进入 Beta 阶段
  • Gradle 插件对 Java 工具链的支持
  • 标准库中对 Regex 和 Duration 的改进

Kotlin/JS IR 后端进入 Beta 阶段

自 Kotlin 1.4 发布以来,Kotlin/JS 编译器的 IR 后端一直处于 Alpha 状态。现在终于进入了 Beta 阶段,这意味着后续不会出现破坏性变化,未来工作主要集中在提升稳定性上。

文档:https://kotlinlang.org/docs/js-ir-compiler.html

Gradle:构建脚本中 Kotlin 守护进程增加 JVM 选项以及 Java 工具链支持

Gradle 6.7 引入了对 Java 工具链的支持——可用于为项目编译选择 JDK。开发者只需在构建脚本中声明所需的版本,Gradle 会自动完成剩下的工作。Kotlin 1.5.30-RC 针对 Kotlin 编译任务启用了 Java 工具链支持:

kotlin {
    jvmToolchain {
        (this as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(<MAJOR_JDK_VERSION>)
    }
}

其他与 Gradle 相关的改进包括为 Kotlin Gradle 守护进程提供 JVM 选项的新方法。开发者可以在gradle.properties的单独代码行进行指定:

kotlin.daemon.jvmargs = "-Xmx486m -Xms256m -XX:+UseG1GC"

或在build.gradle.kts中进行指定:

kotlin {
   kotlinDaemonJvmArgs = listOf("-Xmx486m", "-Xms256m", "-XX:+UseG1GC")
}

改进 Regex 和 Duration API

Kotlin 的 Regex API 新增实验性功能。

  • matchesAt()用于检查正则表达式是否在字符串的指定位置匹配。如果找到匹配项,会返回匹配项本身。
val releaseText = "Kotlin 1.5.30 is coming!"
// regular expression: one digit, dot, one digit, dot, one or more digits
val versionRegex = "\\d[.]\\d[.]\\d+".toRegex()
println(versionRegex.matchesAt(releaseText, 7)) // "true"
println(versionRegex.matchAt(releaseText, 7)?.value) // "1.5.30"
  • splitToSequence()split()相对应——围绕给定正则表达式的匹配项拆分字符串,但会将返回的结果作为Sequence。类似的功能也已被添加到CharSequence
val phoneNumber = "+7 (123) 456-78-90"
val regex = "[ ()-]+".toRegex()
val parts = phoneNumber.splitToSequence(regex)
// or
// val parts = regex.splitToSequence(phoneNumber)

// any processing operation on parts are executed lazily

更多内容查看 发布公告

原文链接:https://www.oschina.net/news/155171/kotlin-1-5-30-rc-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章