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开发者相关文章
- Kotlin 学习笔记(一)
- 再探Kotlin 跨平台——迁移Paging分页库至KMM
- 【Kotlin】Kotlin 委托 ( 使用 by 关键字进行接口委托 )
- 【Kotlin】Lambda 表达式 ( 简介 | 表达式语法 | 表达式类型 | 表达式返回值 | 调用方式 | 完整示例 )
- 【错误记录】Kotlin 报错 ( Some kotlin libraries attached to this project were compiled with a newer kotlin )
- 【Kotlin 协程】Flow 异步流 ⑦ ( 调用 FlowCollector#emit 发射元素时自动执行 Flow 流的取消检测 | 启用检测 Flow 流的取消cancellable函数 )
- 【Kotlin 协程】Flow 流组合 ( Flow#zip 组合多个流 | 新组合流的元素收集间隔与被组合流元素发射间隔的联系 )
- 【Kotlin 协程】Flow 流展平 ( 连接模式 flatMapConcat | 合并模式 flatMapMerge | 最新展平模式 flatMapLatest )
- 【Kotlin】类的继承 ① ( 使用 open 关键字开启类的继承 | 使用 open 关键字开启方法重写 )