zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Kotlin 1.5.30 首个 RC 版本发布

Kotlin 版本 发布 30 首个 1.5 RC
2023-06-13 09:13:38 时间

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

更多内容查看 发布公告。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/94497.html

AIjdPhone开发者