Kotlin 1.2 里程碑版本正式发布,编译器和标准库日趋稳定

更新时间:2017-08-14 13:49:04 点击次数:1584次

近日,JetBrains 开发者 Alexey Sedunov 在其官方博客上正式宣布 Kotlin 1.2 第二个里程碑版本发布。这个版本的主要关注点是 Kotlin 编译器和工具的稳定性及 bug 的修复,以及对 Kotlin 标准库的改进。它同时也包含了很多在即将发布的 Kotlin 1.1.4 版本中所具备的工具特性。

编译器

重大修改:Java-default 方法调用

到目前为止,Kotlin 接口成员重写 Java-default 方法,如果目标运行时是 JVM 1.6 的话会在编译时产生一个警告:Kotlin 子类中对父类 Java-default 方法的调用在 JVM target 1.6 已经废弃,请重新使用 -jvm-target 1.8 参数进行编译。在 1.2-M2 版本中我们使用错误来代替警告,因此要求所有这类代码都使用 -jvm-target 1.8 参数进行编译。

标准库

修正 windowed/pairwise 操作

我们已经听取大家关于 KEEP-11(https://github.com/Kotlin/KEEP/blob/master/proposals/stdlib/window-sliding.md) 中 chunked/windowed/pairwise 函数的反馈,这些函数是在前一个里程碑 1.2-M1 中作为预览功能发布的,在这个基础上我们决定对这些函数做一些修改:

标准库中的通用数学操作

长期以来要求在标准库 KT-4900(https://youtrack.jetbrains.com/issue/KT-4900) 中支持数学操作的请求不绝于耳。直到现在在 JVM 平台上我们只能求助于 java.lang.Math 类提供的数学函数和常量,在 JS 平台上只能求助于 kotlin.js.Math暴露的原生 JS 数学函数给 Kotlin 代码。但是,现在我们将介绍 kotlin.math 包中的下列 API 组合:

对于 Float 参数也提供了同样的函数集(除了常量),这些函数大多数在 JS 中也可用(除了二进制表示中的函数),从而解决了需要为不同平台编写两套相同计算代码的问题。

预发布声明

与其他里程碑版本一样,我们不会为新语言和库特性提供向后兼容性的保证。在 1.2 的里程碑版本中引入的任何东西在 1.2 的终版本发布之前都会发生更改。当我们到达终的 RC 版本,通过预发布版本生成的所有二进制包都会被编译器认为不合法:你将被要求重新编译之前使用 1.2-Mx 版本编译过的任何代码。当然所有使用 1.1.x 版本或者更早发布版本编译的代码不需要重新编译也可以完美的运行。

如何尝试

在 Maven/Gradle 中:在工程的构建脚本中添加 http://dl.bintray.com/kotlin/kotlin-eap-1.2 作为 repository,并将 Kotlin 编译插件和标准库的版本号修改为 1.2-M2

在 IntelliJ IDEA 中:点选菜单 Tools → Kotlin → Configure Kotlin Plugin Updates,接着在 Update channel 下拉列表中选择 “Early Access Preview 1.2”,然后点击 Check for updates

命令行编译器可以在 Github 发布页面(https://github.com/JetBrains/kotlin/releases/tag/v1.2-M2)进行下载。

在 try.kotlinlang.orghttps://try.kotlinlang.org/) 中:使用右下角的下拉列表可以更改编译器的版本为 1.2-M2(即将开放)。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!