Kotlin 1.8.0 版本已經(jīng)正式發(fā)布,以下是該版本更新中的一些主要內(nèi)容:
針對 JVM 的新實驗性功能:遞歸復制或刪除目錄內(nèi)容
Kotlin 1.8.0 為java.nio.file.Path
引入了兩個新的擴展函數(shù):copyToRecursively()
和deleteRecursively()
,它們允許你以遞歸方式:-
將一個目錄及其內(nèi)容復制到另一個目的地
-
刪除一個目錄和它的內(nèi)容
用于java.nio.file.path
的這些新函數(shù)是實驗性的。要使用它們,你需要選擇加入@OptIn(kotlin.io.path.ExperimentalPathApi::class)
或@kotlin.io.path.ExperimentalPathApi
。另外,你也可以使用編譯器選項-opt-in=kotlin.io.path.ExperimentalPathApi
。
改進了 kotlin-reflect 的性能
利用kotlin-reflect
現(xiàn)在是用 JVM target 1.8 編譯的這一事實,我們將內(nèi)部緩存機制遷移到 Java 的ClassValue
。以前我們只緩存KClass
,但現(xiàn)在我們也緩存了KType
和KDeclarationContainer
。這些變化使得調(diào)用typeOf()
時的性能得到了明顯的改善。新增 -Xdebug 編譯器選項,以獲得更好的調(diào)試體驗
Kotlin 1.8.0 增加了一個新的-Xdebug
編譯器選項,它可以禁用優(yōu)化以獲得更好的調(diào)試體驗。目前,該選項禁用了 coroutines 的 "已優(yōu)化" 功能。在未來,當我們添加了更多的優(yōu)化功能后,這個選項也將禁用它們。
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。因此,你不再需要在構(gòu)建腳本中單獨聲明kotlin-stdlib-jdk7
和kotlin-stdlib-jdk8
,因為這些工件的內(nèi)容已經(jīng)并入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 守護程序的回退策略
-
強制檢查相關(guān)的 Kotlin 和 Java 編譯任務的 JVM target 兼容性是否相等
-
SWIFT
+關(guān)注
關(guān)注
0文章
116瀏覽量
23802 -
kotlin
+關(guān)注
關(guān)注
0文章
60瀏覽量
4193
原文標題:Kotlin 1.8.0發(fā)布,改進性能和Swift的互操作性
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
TI ADS42JB69系列JESD204B ADC與Altera FPGA的互操作性
![TI ADS42JB69系列JESD204B ADC與Altera FPGA的<b class='flag-5'>互</b><b class='flag-5'>操作性</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
無線充芯片-手機無線充電芯片-無線充電芯片開發(fā)定制
互操作性對智能家居的重要性
![<b class='flag-5'>互</b><b class='flag-5'>操作性</b>對智能家居的重要<b class='flag-5'>性</b>](https://file1.elecfans.com/web2/M00/04/3D/wKgZombMWuuAa4y-AAA0hQAYXI0758.png)
是德科技攜手高通突破5G高頻段FR3互操作性
區(qū)塊鏈互操作標準化應用及經(jīng)驗,華為云 BCS 獲評團體標準示范項目
![區(qū)塊鏈<b class='flag-5'>互</b><b class='flag-5'>操作</b>標準化應用及經(jīng)驗,華為云 BCS 獲評團體標準示范項目](https://file1.elecfans.com//web2/M00/C0/D0/wKgZomXYpPKAET8EABPx8VQ9-a4194.png)
RZ/G柔性軟件包v2.0.1發(fā)布說明
![RZ/G柔性軟件包v2.0.1<b class='flag-5'>發(fā)布</b>說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
16位單片機RL78系列Rev.1.20發(fā)布說明
![16位單片機RL78系列Rev.1.20<b class='flag-5'>發(fā)布</b>說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
QE for Motor V1.3.0發(fā)布說明
![QE for Motor V1.3.0<b class='flag-5'>發(fā)布</b>說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RZ/V2L DRP-AI支持包版本.7.41發(fā)布說明
![RZ/V2L DRP-AI支持包版本.7.41<b class='flag-5'>發(fā)布</b>說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RZ/V多操作系統(tǒng)包V1.12發(fā)布說明
![RZ/V多<b class='flag-5'>操作</b>系統(tǒng)包V1.12<b class='flag-5'>發(fā)布</b>說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
e2 studio 2024-01發(fā)布說明
![e2 studio 2024-01<b class='flag-5'>發(fā)布</b>說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+適用于CC V8.11.00發(fā)布說明
![CS+適用于CC V8.11.00<b class='flag-5'>發(fā)布</b>說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
電容式觸摸的QE V3.3.0發(fā)布說明
![電容式觸摸的QE V3.3.0<b class='flag-5'>發(fā)布</b>說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論