5 月 22 日消息,JetBrains 官方宣布 Kotlin 2.0.0 正式發(fā)布,其代碼已上傳到 GitHub 庫。
默認用于所有平臺(JVM、Native、Wasm 和 JS),且性能顯著提升。性能方面,JetBrains 團隊編譯了 1000 萬行代碼以確保其質(zhì)量穩(wěn)定,涉及 18,000 多名開發(fā)人員和 80,000 多個項目。
新版 Kotlin 插件已集成在 IntelliJ IDEA 和 Android Studio 中。
從 Kotlin 2.0.0 開始,org.gradle.jvm.environmentGradle 屬性默認會與 Kotlin 版本一同公布,從而更好地區(qū)分 Kotlin 多平臺庫的 JVM 和 Android 版本。
kotlinx-metadata-jvm 庫現(xiàn)已進入穩(wěn)定狀態(tài)
Kotlin 2.0.0 引入了一種使用生成 lambda 函數(shù)的新默認方法“invokedynamic”,可生成更小的二進制文件。
以前,開發(fā)者只能通過查看日志來監(jiān)控 Kotlin / Native 的垃圾回收器 (GC) 的性能。然而,這些日志并未集成到 Xcode Instruments 中(后者是一款用于調(diào)試 iOS 應(yīng)用性能問題的工具包)。從 Kotlin 2.0.0 開始,GC 會通過 Instruments 中提供的特殊標記來報告暫停,從而允許在應(yīng)用程序內(nèi)進行自定義日志記錄。
Objective-C 方法可以用不同的名稱,但必須具有相同的數(shù)量和類型參數(shù)。例如,locationManager:didEnterRegion: 和 locationManager:didExitRegion:。在 Kotlin 中,它們都具有相同的簽名,因此嘗試使用時也會觸發(fā)沖突重載報錯。
放在以前,開發(fā)者必須手動解決沖突才能避免此編譯錯誤,而為了改善 Kotlin 與 Objective-C 的互操作性,Kotlin 2.0.0 引入了新的 @ObjCSignatureOverride 注釋。該注釋會指示 Kotlin 編譯器忽略沖突的重載,以防從 Objective-C 類繼承多個具有相同參數(shù)類型但參數(shù)名稱不同的函數(shù)。
支持命名導(dǎo)出和無符號原始類型的 @JsExport 函數(shù),從而提高了可讀性,并幫助開發(fā)者更好地管理模塊之間的依賴關(guān)系,還能使 Kotlin 和 JavaScript 模塊之間的代碼共享更容易。
此外, Kotlin 2.0.0 還支持生成 Kotlin / Wasm 中 TypeScript 聲明文件(IT之家注:實驗性功能,可能會隨時被刪),能夠根據(jù) @JsExport Kotlin 代碼中的聲明生成 TypeScript 定義,從而讓 IDE 和 JavaScript 工具使用這些定義來提供代碼自動補完功能。
Kotlin / Wasm 工具鏈現(xiàn)在會在生產(chǎn)編譯過程中對所有項目默認應(yīng)用 Binaryen 工具,而無需進行手動設(shè)置。官方估計,這將進一步改善項目的運行時性能并減小二進制文件大小。當然,此更改僅影響生產(chǎn)編譯。開發(fā)編譯過程保持不變。
Kotlin 2.0.0 引入了全新的 Gradle DSL,可用于在多平臺項目中更輕松地配置編譯選項。此前在 Kotlin 中使用 Gradle 配置編譯選項只能針對較低的層面,例如單個任務(wù)、編譯過程或源代碼集。有了這個新的 Gradle DSL,您就可以直接設(shè)置全局配置編譯選項。
在 Kotlin 2.0.0 中,訪問枚舉類值的方式變得更加穩(wěn)定。Kotlin 2.0.0 引入了新的專門用于枚舉的穩(wěn)定函數(shù) enumEntries<T>(),可返回給定枚舉類型 T 的所有枚舉條目列表。
Kotlin 之前還引入了一個枚舉類的屬性 entries,目前已經(jīng)進入穩(wěn)定狀態(tài)并將與上述函數(shù)一起替代“不再推薦使用”的 values ()。
自 Kotlin 2.0.0 開始,開發(fā)者常用的 AutoCloseable 接口宣布進入穩(wěn)定狀態(tài),它可以允許開發(fā)者輕松關(guān)閉資源,并包含兩種有用的函數(shù):
本文鏈接:http://www.www897cc.com/showinfo-26-90033-0.html編程語言 Kotlin 2.0.0 現(xiàn)已發(fā)布,K2 編譯器進入穩(wěn)定狀態(tài)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 高大上!五個python高級可視化圖表!