Kotlin 1.4 来了!全新语言特性和更多改进

开发 后端
来自开发者社区的热情与积极采用推动了 Kotlin 成为 Android 开发的首选语言 (Kotlin-first)。随着 Kotlin 不断发展,JetBrains (Kotlin 的创建者)、开源社区以及 Google 团队也将持续投入更多的资源和精力。

[[340439]]

来自开发者社区的热情与积极采用推动了 Kotlin 成为 Android 开发的首选语言 (Kotlin-first)。随着 Kotlin 不断发展,JetBrains (Kotlin 的创建者)、开源社区以及 Google 团队也将持续投入更多的资源和精力。

  • Kotlin https://developer.android.google.cn/kotlin
  • 首选语言 (Kotlin-first)https://developer.android.google.cn/kotlin/first

我们很高兴与大家分享 Kotlin 1.4 版本,这将是 Kotlin 发展的下一个里程碑,包含新的语言特性、改进的编译器和工具。以下是此版本中部分振奋人心的新特性的简要概述。您可以在 JetBrains 官方博客中阅读有关 Kotlin 1.4 的更多信息。

  • JetBrains 官方博客https://blog.jetbrains.com/zh-hans/kotlin/2020/08/kotlin-1-4-released-with-a-focus-on-quality-and-performance-zh/

新语言特性

Kotlin 1.4 中引入的新语言特性改善了编写 Kotlin 代码的 "人机工程学",例如:

Kotlin 接口的 SAM 转换

过去,只有 Java 编程语言中定义的功能接口 (即只有一个单一抽象方法 - SAM) 受益于 Kotlin 中的速记语法:

  1. executor.execute { println("This is shorthand for passing in a Runnable") } 

现在,Kotlin 1.4 可以将 Kotlin 接口标记为功能接口,并通过添加 fun 关键字让它们以类似方式工作:

  1. fun interface Transformer<T, U> { 
  2.    fun transform(x: T): U 
  3. val length = Transformer { 
  4.    x: String -> x.length 

Kotlin 1.4 版本说明页面介绍了有关新语言特性的更多信息,如: 混合命名和位置参数、尾部逗号、可调用引用改进,以及在循环中的 when 内部使用 break和 continue。

  • 版本说明https://kotlinlang.org/docs/reference/whatsnew14.html#mixing-named-and-positional-arguments

显式 API 模式

另外一个新特性是显式 API 模式,面向 Kotlin 的库作者。

该模式强制执行 Kotlin 的某些语言属性,这些属性通常为可选,例如指定可见性修饰符,以及任何公共声明的显式键入,防止设计库的公共 API 时出错。官方文档说明了如何启用显式 API 模式并开始使用这些附加检查。

  • 官方文档: 显式 API 模式https://kotlinlang.org/docs/reference/whatsnew14.html#explicit-api-mode-for-library-authors

编译器的改进

上述语言特性是 Kotlin 1.4 中密切贴合开发者的一部分改动,其他大部分工作是以提高 Kotlin 编译器的整体质量和性能为主。

现在,所有开发者都可以利用的优势之一是更强大的新类型推断算法 (默认启用),它可以在更多用例中自动推理类型,即使在复杂的场景下也支持智能转换,帮助开发者提高工作效率。

除了类型推断算法,Kotlin 1.4 还为 Kotlin/JVM 和 Kotlin/JS 带来了全新的编译器后端 (Alpha 稳定阶段,可选),用 IR 编译器生成代码并用于 Kotlin/Native 后端。

Jetpack Compose 需要 Kotlin/JVM IR 后端。Google 工程师正在与 JetBrains 合作,希望将其打造成默认的 JVM 编译器后端。

因此,即使您当前不使用 Jetpack Compose 进行开发,我们同样建议您尝试全新 alpha 版 Kotlin/JVM 后端,如果在使用中有任何问题和功能请求请提交到问题跟踪器。

  • 问题跟踪器http://kotl.in/issue

在 Gradle 构建脚本中指定额外编译器选项即可启用新的 JVM IR 后端:

  1. kotlinOptions.useIR = true 

立即体验 Kotlin 1.4!

项目和 IDE 更新到 Kotlin 1.4 需要完成两个步骤。

首先,确保您使用最新版 Android Studio,以最大限度地提高性能优势以及与最新 Kotlin 插件的兼容性。当与 IDE 版本兼容的 Kotlin 1.4.0 插件可用时,Android Studio 将提示您,或者您也可以转到 Preferences | Plugins 手动触发更新。

  • Android Studiohttps://developer.android.google.cn/studio

启用插件后,您可以更新 build.gradle 脚本中的 Kotlin Gradle 插件版本,将应用项目升级以使用 Kotlin 1.4。根据插件的管理方式,您必须在顶层项目的buildscript 块中更新版本:

  1. buildscript { 
  2.     dependencies { 
  3.         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0" 
  4.     } 
  5. }

或在模块级别的 build.gradle 文件的 plugins 块中更改版本号:

  1. plugins { 
  2.     id 'org.jetbrains.kotlin.android' version '1.4.0' 

请务必仔细阅读语言改动并更新项目代码,确保兼容最新版本。快来体验 Kotlin 1.4 吧!

责任编辑:未丽燕 来源: 谷歌开发者
相关推荐

2009-09-18 15:53:37

C# 3.0新语言特性

2011-11-14 09:56:17

C++

2010-12-07 08:57:14

Android 2.3

2018-08-27 08:55:32

Go JavaScriptKotlin

2020-06-11 14:32:59

Android 代码操作系统

2009-07-09 11:43:22

JDK1.4assert

2013-05-02 09:14:19

Java 8Java 8的新特性

2014-07-08 10:29:12

Swift

2009-04-03 17:04:22

FanJavaC#

2017-03-06 09:00:00

KotlinJVM编程语言

2010-07-28 09:04:07

Flex2.0.1

2011-11-08 10:30:05

Eclipse

2011-07-25 16:32:08

HTML 5

2011-09-09 12:09:27

Dart

2014-04-09 10:08:06

FacebookHack

2010-08-04 15:15:06

NFSv4.1

2021-10-22 15:45:32

开发技能React

2022-11-04 11:11:15

语言入职项目

2018-11-08 14:56:55

KotlinAndorid开发

2014-12-04 10:47:18

Java 9
点赞
收藏

51CTO技术栈公众号