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
现在是用 JVM target 1.8 编译的这一事实,我们将内部缓存机制迁移到 Java 的 ClassValue
。以前我们只缓存 KClass
,但现在我们也缓存了 KType
和 KDeclarationContainer
。这些变化使得调用 typeOf()
时的性能得到了明显的改善。-Xdebug
编译器选项,它可以禁用优化以获得更好的调试体验。目前,该选项禁用了 coroutines 的 "已优化" 功能。在未来,当我们添加了更多的优化功能后,这个选项也将禁用它们。kotlin-stdlib-jdk7
和 kotlin-stdlib-jdk8
合并为 kotlin-stdlib
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
。
@ObjCName
允许你在 Swift 或 Objective-C 中指定一个更习惯的名字,而不是重新命名 Kotlin 声明。
@HiddenFromObjC
允许你从 Objective-C 中隐藏一个 Kotlin 声明
@ShouldRefineInSwift
对于用 Swift 编写的包装器替换 Kotlin 声明很有用
将 Kotlin 编译器选项作为 Gradle 惰性属性公开
提高了最小支持版本
能够禁用 Kotlin 守护程序的回退策略
强制检查相关的 Kotlin 和 Java 编译任务的 JVM target 兼容性是否相等
全部0条评论
快来发表一下你的评论吧 !