Kotlin 1.8.0 版本已經正式發布,以下是該版本更新中的一些主要內容:
針對 JVM 的新實驗性功能:遞歸復制或刪除目錄內容
Kotlin 1.8.0 為java.nio.file.Path
引入了兩個新的擴展函數:copyToRecursively()
和deleteRecursively()
,它們允許你以遞歸方式:-
將一個目錄及其內容復制到另一個目的地
-
刪除一個目錄和它的內容
用于java.nio.file.path
的這些新函數是實驗性的。要使用它們,你需要選擇加入@OptIn(kotlin.io.path.ExperimentalPathApi::class)
或@kotlin.io.path.ExperimentalPathApi
。另外,你也可以使用編譯器選項-opt-in=kotlin.io.path.ExperimentalPathApi
。
改進了 kotlin-reflect 的性能
利用kotlin-reflect
現在是用 JVM target 1.8 編譯的這一事實,我們將內部緩存機制遷移到 Java 的ClassValue
。以前我們只緩存KClass
,但現在我們也緩存了KType
和KDeclarationContainer
。這些變化使得調用typeOf()
時的性能得到了明顯的改善。新增 -Xdebug 編譯器選項,以獲得更好的調試體驗
Kotlin 1.8.0 增加了一個新的-Xdebug
編譯器選項,它可以禁用優化以獲得更好的調試體驗。目前,該選項禁用了 coroutines 的 "已優化" 功能。在未來,當我們添加了更多的優化功能后,這個選項也將禁用它們。
kotlin-stdlib-jdk7
和kotlin-stdlib-jdk8
合并為kotlin-stdlib
在 Kotlin 1.8.0 中,標準庫(kotlin-stdlib
、kotlin-reflect
和kotlin-script-*
)是用 JVM target 1.8 編譯的。此前,標準庫是以 JVM target 1.6 編譯的。Kotlin 1.8.0 不再支持 JVM targets 1.6 和 1.7。因此,你不再需要在構建腳本中單獨聲明kotlin-stdlib-jdk7
和kotlin-stdlib-jdk8
,因為這些工件的內容已經并入kotlin-stdlib
。改進了 Objective-C/Swift 的互操作性
為了使 Kotlin 與 Objective-C 和 Swift 更具有互操作性,1.8.0 增加了三個新的注解:-
@ObjCName
允許你在 Swift 或 Objective-C 中指定一個更習慣的名字,而不是重新命名 Kotlin 聲明。 -
@HiddenFromObjC
允許你從 Objective-C 中隱藏一個 Kotlin 聲明 -
@ShouldRefineInSwift
對于用 Swift 編寫的包裝器替換 Kotlin 聲明很有用
與 Gradle 7.3 兼容
Kotlin 1.8.0 完全支持 Gradle 7.2 和 7.3 版本,這個版本帶來了很多變化:-
將 Kotlin 編譯器選項作為 Gradle 惰性屬性公開
-
提高了最小支持版本
-
能夠禁用 Kotlin 守護程序的回退策略
-
強制檢查相關的 Kotlin 和 Java 編譯任務的 JVM target 兼容性是否相等
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
SWIFT
+關注
關注
0文章
116瀏覽量
23809 -
kotlin
+關注
關注
0文章
60瀏覽量
4196
原文標題:Kotlin 1.8.0發布,改進性能和Swift的互操作性
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
PCIe 6.0 互操作性PHY驗證測試方案
?和 UCIe?等協議。CXL提供緩存一致性互連,支持多臺機器間的內存擴展,提供最低延遲和最高帶寬。CXL和NVM Express?利用 PCIe 的物理層和簡便的協議適應性。UCIe作為
TI ADS42JB69系列JESD204B ADC與Altera FPGA的互操作性
電子發燒友網站提供《TI ADS42JB69系列JESD204B ADC與Altera FPGA的互操作性.pdf》資料免費下載
發表于 12-10 14:27
?0次下載
無線充芯片-手機無線充電芯片-無線充電芯片開發定制
基于需求信息,進行無線充電芯片的技術研發與創新。這包括芯片架構設計、電路布局優化、算法開發等方面的工作。在研發過程中,需要充分考慮高效能量傳輸、兼容性與互操作性以及成本控制等因素,確保芯片性
發表于 09-27 11:32
互操作性對智能家居的重要性
在智能家居領域,互操作性對不同群體有不同的意義。消費者希望有多種選擇、較高的靈活性、簡單的設置以及安全感,確保設備不會被黑客攻擊。最重要的是,他們希望設備能夠“正常工作”。
是德科技攜手高通突破5G高頻段FR3互操作性
了業內首個在FR3頻段(高頻段)的端到端互操作性和數據連接測試,這一成就標志著5G技術在高頻段應用上的重大進展。
區塊鏈互操作標準化應用及經驗,華為云 BCS 獲評團體標準示范項目
各行各業的應用拓展,不 同鏈系統之間的互操作難、上層應用與底層鏈對接切換難、鏈上鏈下可信 交互難的問題日益突出(概括為:區塊鏈的互操作性),成為制約區塊鏈 發展的瓶頸。 區塊鏈
評論