17611538698
webmaster@21cto.com

Kotlin 1.9.0 推出高级K2编译器测试版等多种特性

资讯 1 1012 2023-07-20 11:52:12


Kotlin 1.9.0 (官方网址:https://kotlinlang.org/)是Jetbrains推出的静态编程语言之最新版本。目前Kotlin已经在android开发领域变得越来越重要。


新的Kotlin编译器


Kotlin 使用了具有提供JVM的K2编译器,并且为Kolin/Native和多平台项目提供基础支持。K2 致力于提高性能、统一 Kotlin 支持的所有平台、加快新语言功能的开发,并为编译器扩展提供 API。K2 下一步将成为 Kotlin 2.0 中默认的稳定编译器。


从 Kotlin 1.9.0 开始,开发者可以使用:


kotlin.experimental.tryK2=trueGradle 


使用以上属性测试 K2 编译器。在 Kotlin 1.9.0 中,Gradle 构建系统报告现在显示是使用 K2 还是当前编译器来编译代码。


多平台库支持 Gradle 配置缓存,可加快构建过程。


Kotlin 1.9.0 还稳定了其它许多语言功能,包括如下:


(1)替换枚举类值函数。Kotlin 1.8.20 引入了entries枚举类的属性作为实验性功能。

(2)稳定 Kotlin 1.8.20 中引入的数据对象声明。

(3)添加对带有内联值类中的主体的辅助构造函数的支持。


Kotlin 1.9.0 沿承 Kotln 1.8.0 的优势,包括引入了对Java 19 的支持以及用于在 JVM 上复制或删除目录内容的实验功能。


Kotlin 1.9.0 中的其它新功能和改进:


(1)预览自定义内存分配器,以提高 Kotlin/Native 内存管理器的性能。

(2)Kotlin/Wasm (WebAssembly) 目标具有大小和性能优化功能。

(3)不再支持Dynamic类型,取而代之的是通用JSAny类型。

(4)用于处理开放式范围的稳定标准库 API。

(5)提供了一个新函数按名称捕获正则表达式。

(6)Android 源集布局将为默认,取代了以前的目录命名模式。

(7)一个新的扩展功能createParentDirectories()可以创建一个包含父所有必要父目录。createParentDirectories() 在复制文件时特别有用。例如,您可以将其与 copyToRecursively() 函数结合使用:


  1. sourcePath.copyToRecursively( destinationPath.createParentDirectories(), followLinks = false )


来源:https://kotlinlang.org/

评论