Kotlin 1.3.70加入适用于算法和应用程序的数据结构ArrayDeque

Google力推的程序语言Kotlin发布最新版本1.3.70,这个版本没有添加任何主要的新功能,重点摆在改善现有功能修复bug,并且在标准函数库中,加入一些实验性内容供开发者试用,其中值得注意的便是,官方加入了一个可适用于算法和应用程序的数据结构ArrayDeque。

这次在标准函数库为Kotlin Collections新加入的功能和类别,都仍在实验阶段。通用标准函数库kotlin.text组件中的StringBuilder,有许多重要的成员缺失或是只能在JVM上使用,而现在官方补充了StringBuilder,所有JVM上的StringBuilder功能都添加到通用expect类别中,不同平台都有相对应的实例,让开发者能够更方便有效地,在通用程序代码中使用StringBuilder,并且拥有所有必要的成员。

这次更新Kotlin标准函数库还加入了双端队列实例kotlin.collections.ArrayDeque类别,官方提到,这是社群不停要求的功能,因为即便之前开发者就可以使用Java标准函数库中的java.util.ArrayDeque类别,但是仍然没有可以用于Kotlin/JS、Kotlin/Native或是通用程序代码的通用实例。

Kotlin现在可以在JVM的字节码生成类型注释,而这些类型注释可在执行时使用,官方表示,这也是社群要求了一段时间的功能,因为这将可让部分现存的Java函数库用起来更方便,也为开发函数库的人,提供更多可用功能。

对于可将Kotlin程序代码编译成为JavaScript的Kotlin/JS,官方大幅优化了编译后JavaScript的捆绑包大小,Kotlin 1.3.70现在通过Gradle组件加入死码删除(Dead Code Elimination,DCE)功能,开发者可以进一步控制JavaScript项目的优化和执行。死码移除是指移除对程序执行结果没有任何影响的程序代码,除了减少整体程序大小之外,还能消除不必要的程序运算,减少执行时间,不会执行的程序代码以及无关结果的变量,都属于死码。

现在Kotlin/Native编译和调试的速度更快了,Kotlin 1.3.70版本优化了Kotlin/Native开发的整体性能,官方添加两个功能减少编译时间,其一是Kotlin/Native编译器现在直接由Gradle守护行程执行,系统会在每次编译时,将编译器加载到守护行程,因此不再需要花耗时间重新启动一个新的程序,另外,在调试模式下,编译器将缓存项目相依项目,虽然第一次编译花费的时间更长,但是随后几次编译速度更快,不过目前仅适用于iOS模拟器与macOS中。