开发者社区的热情和积极采用使Kotlin成为Android开发的首选语言(Kotlin-first)。随着Kotlin的不断发展,JetBrains(Kotlin的创造者)、开源社区和谷歌团队将继续投入更多的资源和努力。Kotlinhttps://developer.android.google.cn/kotlinPreferredLanguage(Kotlin-first)https://developer.android.google.cn/kotlin/first我们很高兴与大家分享Kotlin1.4版本,也就是Kotlin开发的下一个里程碑,包含新的语言特性、改进的编译器和工具。以下是此版本中一些激动人心的新功能的简要概述。您可以在官方JetBrains博客上阅读有关Kotlin1.4的更多信息。JetBrains官博https://blog.jetbrains.com/zh-hans/kotlin/2020/08/kotlin-1-4-released-with-a-focus-on-quality-and-performance-zh/语言新特性Kotlin1.4中引入的新语言特性改进了编写Kotlin代码的“人机工程学”,例如:Kotlin接口的SAM转换过去,只有在Java编程语言中定义的功能接口(即只有一个抽象方法-SAM)受益于ShorthandKotlin中的语法:executor.execute{println("ThisisshorthandforpassinginaRunnable")}Kotlin1.4现在可以将Kotlin接口标记为功能接口,并通过添加fun关键字使它们以类似的方式工作:funinterfaceTransformer{funtransform(x:T):U}vallength=Transformer{x:String->x.length}Kotlin1.4发行说明页面描述了更多关于新语言功能的信息,例如:混合命名和位置参数、尾随逗号、可调用引用改进以及break的使用并在循环时继续进入内部。发行说明https://kotlinlang.org/docs/reference/whatsnew14.html#mixing-named-and-positional-arguments显式API模式另一个新功能是Kotlin库作者的显式API模式。此模式强制执行通常可选的Kotlin某些语言属性,例如指定可见性修饰符和任何公共声明的显式类型,以防止在设计库的公共API时出错。官方文档解释了如何启用显式API模式并开始使用这些额外的检查。官方文档:ExplicitAPIModehttps://kotlinlang.org/docs/reference/whatsnew14.html#explicit-api-mode-for-library-authors编译器改进上述语言特性与开发者在Kotlin1.4中的大部分其他工作是提高Kotlin编译器的整体质量和性能。所有开发人员现在可以利用的优势之一是一种新的、更强大的类型推断算法(默认启用),它可以在更多用例中自动推断类型,即使在复杂场景下也支持智能转换,帮助开发人员改进工作效率。除了类型推断算法,Kotlin1.4还为Kotlin/JVM和Kotlin/JS带来了新的编译器后端(alpha稳定阶段,可选),使用IR编译器生成代码并用于Kotlin/Native后端。JetpackCompose需要Kotlin/JVMIR后端。Google工程师正在与JetBrains合作,使其成为默认的JVM编译器后端。因此,即使您目前没有使用JetpackCompose进行开发,我们也建议您试用Kotlin/JVM后端的新alpha版本,并向问题跟踪器提交任何问题和功能请求。问题跟踪器http://kotl.in/issue可以通过在Gradle构建脚本中指定一个额外的编译器选项来启用新的JVMIR后端:kotlinOptions.useIR=true立即体验Kotlin1.4!需要将项目和IDE更新到Kotlin1.4完成两个步骤。首先,确保您使用的是最新版本的AndroidStudio,以最大限度地提高性能优势并与最新的Kotlin插件兼容。当与IDE版本兼容的Kotlin1.4.0插件可用时,AndroidStudio会提示您,或者您可以转到Preferences|手动触发更新的插件。AndroidStudiohttps://developer.android.google.cn/studio启用插件后,您可以在build.gradle脚本中更新KotlinGradle插件版本,将您的应用项目升级为使用Kotlin1.4。根据插件的管理方式,您必须在顶级项目的buildscript块中更新版本:buildscript{dependencies{classpath"org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0"}}或在您的module-levelbuild.gradle在文件的plugins块中更改版本号:plugins{id'org.jetbrains.kotlin.android'version'1.4.0'}务必仔细阅读语言更改并更新项目代码以确保与最新版本的兼容性。快来体验Kotlin1.4吧!