Kotlin 1.4 來了!全新語言特性和更多改進
來自開發(fā)者社區(qū)的熱情與積極采用推動了 Kotlin 成為 Android 開發(fā)的首選語言 (Kotlin-first)。隨著 Kotlin 不斷發(fā)展,JetBrains (Kotlin 的創(chuàng)建者)、開源社區(qū)以及 Google 團隊也將持續(xù)投入更多的資源和精力。
- Kotlin https://developer.android.google.cn/kotlin
- 首選語言 (Kotlin-first)https://developer.android.google.cn/kotlin/first
我們很高興與大家分享 Kotlin 1.4 版本,這將是 Kotlin 發(fā)展的下一個里程碑,包含新的語言特性、改進的編譯器和工具。以下是此版本中部分振奮人心的新特性的簡要概述。您可以在 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 轉(zhuǎn)換
過去,只有 Java 編程語言中定義的功能接口 (即只有一個單一抽象方法 - SAM) 受益于 Kotlin 中的速記語法:
- executor.execute { println("This is shorthand for passing in a Runnable") }
現(xiàn)在,Kotlin 1.4 可以將 Kotlin 接口標記為功能接口,并通過添加 fun 關鍵字讓它們以類似方式工作:
- fun interface Transformer<T, U> {
- fun transform(x: T): U
- }
- val length = Transformer {
- x: String -> x.length
- }
Kotlin 1.4 版本說明頁面介紹了有關新語言特性的更多信息,如: 混合命名和位置參數(shù)、尾部逗號、可調(diào)用引用改進,以及在循環(huán)中的 when 內(nèi)部使用 break和 continue。
- 版本說明https://kotlinlang.org/docs/reference/whatsnew14.html#mixing-named-and-positional-arguments
顯式 API 模式
另外一個新特性是顯式 API 模式,面向 Kotlin 的庫作者。
該模式強制執(zhí)行 Kotlin 的某些語言屬性,這些屬性通常為可選,例如指定可見性修飾符,以及任何公共聲明的顯式鍵入,防止設計庫的公共 API 時出錯。官方文檔說明了如何啟用顯式 API 模式并開始使用這些附加檢查。
- 官方文檔: 顯式 API 模式https://kotlinlang.org/docs/reference/whatsnew14.html#explicit-api-mode-for-library-authors
編譯器的改進
上述語言特性是 Kotlin 1.4 中密切貼合開發(fā)者的一部分改動,其他大部分工作是以提高 Kotlin 編譯器的整體質(zhì)量和性能為主。
現(xiàn)在,所有開發(fā)者都可以利用的優(yōu)勢之一是更強大的新類型推斷算法 (默認啟用),它可以在更多用例中自動推理類型,即使在復雜的場景下也支持智能轉(zhuǎn)換,幫助開發(fā)者提高工作效率。
除了類型推斷算法,Kotlin 1.4 還為 Kotlin/JVM 和 Kotlin/JS 帶來了全新的編譯器后端 (Alpha 穩(wěn)定階段,可選),用 IR 編譯器生成代碼并用于 Kotlin/Native 后端。
Jetpack Compose 需要 Kotlin/JVM IR 后端。Google 工程師正在與 JetBrains 合作,希望將其打造成默認的 JVM 編譯器后端。
因此,即使您當前不使用 Jetpack Compose 進行開發(fā),我們同樣建議您嘗試全新 alpha 版 Kotlin/JVM 后端,如果在使用中有任何問題和功能請求請?zhí)峤坏絾栴}跟蹤器。
- 問題跟蹤器http://kotl.in/issue
在 Gradle 構建腳本中指定額外編譯器選項即可啟用新的 JVM IR 后端:
- kotlinOptions.useIR = true
立即體驗 Kotlin 1.4!
項目和 IDE 更新到 Kotlin 1.4 需要完成兩個步驟。
首先,確保您使用最新版 Android Studio,以最大限度地提高性能優(yōu)勢以及與最新 Kotlin 插件的兼容性。當與 IDE 版本兼容的 Kotlin 1.4.0 插件可用時,Android Studio 將提示您,或者您也可以轉(zhuǎn)到 Preferences | Plugins 手動觸發(fā)更新。
- Android Studiohttps://developer.android.google.cn/studio
啟用插件后,您可以更新 build.gradle 腳本中的 Kotlin Gradle 插件版本,將應用項目升級以使用 Kotlin 1.4。根據(jù)插件的管理方式,您必須在頂層項目的buildscript 塊中更新版本:
- buildscript {
- dependencies {
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0"
- }
- }
或在模塊級別的 build.gradle 文件的 plugins 塊中更改版本號:
- plugins {
- id 'org.jetbrains.kotlin.android' version '1.4.0'
- }
請務必仔細閱讀語言改動并更新項目代碼,確保兼容最新版本??靵眢w驗 Kotlin 1.4 吧!