内容简介:Kotlin 1.5.0 稳定版已发布,此版本提供了稳定的语言特性,例如 JVM records、密封接口 (sealed interface)、内联类 (inline class),并引入了新的默认 JVM IR 编译器。据介绍,新的编译器与 Kotlin/Native 和 Ko...
Kotlin 1.5.0 稳定版已发布,此版本提供了稳定的语言特性,例如 JVM records、密封接口 (sealed interface)、内联类 (inline class),并引入了新的默认 JVM IR 编译器。据介绍,新的编译器与 Kotlin/Native 和 Kotlin/JS 编译器共享统一的管道和业务逻辑,因此 Kotlin 团队可同时为所有平台实现大多数功能、优化和错误修复。新的编译器还将允许开发者添加自定义处理和转换,这些处理和转换将自动在所有平台上运行。
Kotlin 1.5 主要变化
- 新增稳定的语言特性 - JVM records、密封接口 (sealed interface)、内联类 (inline class)
- 标准和测试库改进 - 稳定的无符号整数类型、Extensions for
java.nio.file.Path
,以及针对 String、Char 和 Duration API 的改进 - Kotlin/JVM 改进 - 新的默认 JVM IR 编译器
- Kotlin/Native 改进 - 针对 Linux 和 iOS 应用程序的更快的调试编译
- Kotlin/JS 的改进 - 将更多 JS 库迁移到新的 Kotlin/JS IR 编译器
下面简单介绍新增的语言特性。
支持 JVM records
JVM records 是 JVM 生态将要推出的重要更新,其类似于 Kotlin data 类,主要用作简单的数据持有者。 与 Java 的互操作性一直以来都是并且将永远作为 Kotlin 的优先考虑事项。 因此,Kotlin 代码可以“理解”新的 Java records,并将其视为具有 Kotlin 属性的类。 这类似于遵循 JavaBeans 惯例的常规 Java 类:
// Java
record Point(int x, int y) { }
// Kotlin
fun foo(point: Point) {
point.x // seen as property
point.x() // also works
}
出于互操作性,可以用@JvmRecord
注解data
类,生成新的 JVM records 方法:
@JvmRecord
data class Point(val x: Int, val y: Int)
密封接口和密封类的改进
使密封类时,它会将层次结构限制为已定义的子类,从而允许在when
分支中进行详尽的检查。在 Kotlin 1.4 中,密封类层次结构具有两个约束。 首先,顶层类不能是一个密封接口,应该是一个类。 其次,所有子类均应当位于同一文件中。
Kotlin 1.5 去除了这两个约束:您现在可以使一个接口密封。子类(包括密封类和密封接口)应与 super 类位于同一编译单元和同一软件包中,但现在可以位于不同文件中。
sealed interface Expr
data class Const(val number: Double) : Expr
data class Sum(val e1: Expr, val e2: Expr) : Expr
object NotANumber : Expr
fun eval(expr: Expr): Double = when(expr) {
is Const -> expr.number
is Sum -> eval(expr.e1) + eval(expr.e2)
NotANumber -> Double.NaN
}
密封类以及现在的密封接口对于定义抽象数据类型 (ADT) 层次结构非常实用。
下载地址:https://github.com/JetBrains/kotlin/releases/tag/v1.5.0
参考:https://blog.jetbrains.com/zh-hans/kotlin/2021/04/kotlin-1-4-30/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 稳定与非稳定版本软件的Docker Image构建策略
- Linux 内核版本那么多,你应该选择哪个稳定版本?
- ObjectiveSQL 稳定版本发布 1.4.0
- Snowy v1.5.2 稳定版本发布
- GoLand 2018.1 稳定版发布:重大更新版本
- Chrome 71 稳定版本更新,主打“滥用广告”过滤
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP 6与MySQL 5基础教程
(美)厄尔曼 / 陈宗斌 等 / 人民邮电出版社 / 2008-11-1 / 65.00元
本书是一部经典的入门级著作,采用基于任务的方法来讲授PHP和MySQL,使用大量图片指导读者深入学习语言,并向读者展示了如何构造动态Web站点。书中用简洁、直观的步骤和讲解提供了学习任务和概念的最快方式。通过学习本书,读者可以快速、高效地掌握PHP和MySQL,成为一位构建Web站点的高手。 本书适合初中级Web应用开发和设计人员阅读。 本书是讲述PHP和MySQL技术的畅销书,以深入......一起来看看 《PHP 6与MySQL 5基础教程》 这本书的介绍吧!