当前位置: 首页 > news >正文

漳州网站建设去博大a优wordpress seo 自定义结构

漳州网站建设去博大a优,wordpress seo 自定义结构,个人简历word可编辑,网站后台html编辑器Kotlin1.8.0新特性 新特性概述 JVM 的新实验性功能:递归复制或删除目录内容提升了 kotlin-reflect 性能新的 -Xdebug 编译器选项,提供更出色的调试体验kotlin-stdlib-jdk7 与 kotlin-stdlib-jdk8 合并为 kotlin-stdlib提升了 Objective-C/Swift 互操作…

Kotlin1.8.0新特性

新特性概述

  • JVM 的新实验性功能:递归复制或删除目录内容
  • 提升了 kotlin-reflect 性能
  • 新的 -Xdebug 编译器选项,提供更出色的调试体验
  • kotlin-stdlib-jdk7 与 kotlin-stdlib-jdk8 合并为 kotlin-stdlib
  • 提升了 Objective-C/Swift 互操作性
  • 与 Gradle 7.3 兼容

在这里插入图片描述

递归复制或删除目录内容

注意:
这些新功能对于`java.nio.file.path`来说是实验性的。如果要调用他们,你需要添加`@OptIn(kotlin.io.path.ExperimentalPathApi::class)`或者`@kotlin.io.path.ExperimentalPathApi`注释。你也可以添加编译器选项`-opt-in=kotlin.io.path.ExperimentalPathApi`。

两个扩展函数,它允许你递归:
java.nio.file.PathcopyToRecursively() deleteRecursively()

  • 将目录及其内容复制到另一个目标。
  • 删除目录及其内容。
    作为备份过程的一部分,这些功能非常有用。
    异常处理
copyToRecursively() onError

例如:

sourceRoot.copyToRecursively(destinationRoot, followLinks = false,onError = { source, target, exception ->logger.logError(exception, "Failed to copy $source to $target")OnErrorResult.TERMINATE})

使用 时,如果在删除文件或文件夹时发生异常,则会跳过该文件或文件夹。删除完成后,将引发包含作为抑制异常发生的所有异常。deleteRecursively() deleteRecursively() IOException
文件覆盖
如果发现目标目录中已存在文件,则会发生异常。如果要覆盖该文件,请使用 with 作为参数的重载并将其设置为 :
copyToRecursively() overwrite true
例如:

fun setUpEnvironment(projectDirectory: Path, fixtureName: String) {fixturesRoot.resolve(COMMON_FIXTURE_NAME).copyToRecursively(projectDirectory, followLinks = false)fixturesRoot.resolve(fixtureName).copyToRecursively(projectDirectory, followLinks = false,overwrite = true) // patches the common fixture
}

自定义复制操作
重载copyAction, 例如:

sourceRoot.copyToRecursively(destinationRoot, followLinks = false) { source, target ->if (source.name.startsWith(".")) {CopyActionResult.SKIP_SUBTREE} else {source.copyToIgnoringExistingDirectory(target, followLinks = false)CopyActionResult.CONTINUE}
}

提升了 kotlin-reflect 性能

利用现在使用 JVM 目标 1.8 编译的事实,我们将内部缓存机制迁移到 Java 的 .以前我们只缓存 ,但现在我们也缓存和.这些更改在调用 时显著提高了性能。kotlin-reflect ClassValue KClass KType KDeclarationContainer typeOf()

新的 -Xdebug 编译器选项

Kotlin 1.8.0 添加了一个新的编译器选项,该选项禁用优化以获得更好的调试体验。目前,该选项禁用协程的“已优化”功能。将来,在我们添加更多优化后,此选项也会禁用它们。-Xdebug
“已优化”功能可在使用挂起函数时优化变量。但是,很难使用优化变量调试代码,因为看不到它们的值。
禁止在生产环境中使用该选项,可能会产生内存泄露。

kotlin-stdlib-jdk7kotlin-stdlib-jdk8 合并为 kotlin-stdlib

不同版本的stdlib已统一合并到kotlin-stdlib

提升了Object及Swift的互操作

为了使 Kotlin 与 Objective-C 和 Swift 更具互操作性,添加了三个新的注释:

  • @ObjCName 允许您在 Swift 或 Objective-C 中指定一个更惯用的名称,而不是重命名 Kotlin 声明。
    该注释指示 Kotlin 编译器为此类、属性、参数或函数使用自定义的 Objective-C 和 Swift 名称:
@ObjCName(swiftName = "MySwiftArray")
class MyKotlinArray {@ObjCName("index")fun indexOf(@ObjCName("of") element: String): Int = TODO()
}// Usage with the ObjCName annotations
let array = MySwiftArray()
let index = array.index(of: "element")
  • @HiddenFromObjC允许您从 Objective-C 中隐藏 Kotlin 声明。

注释指示 Kotlin 编译器不要将函数或属性导出到 Objective-C 并因此导出到 Swift。这可以使您的 Kotlin 代码对 Objective-C/Swift 更加友好。

  • @ShouldRefineInSwift 对于用 Swift 编写的包装器替换 Kotlin 声明很有用。

注释指示 Kotlin 编译器将函数或属性标记为生成的 Objective-C API 中的函数或属性。这样的声明获得前缀,这使得它们对 Swift 代码不可见。swift_private__

与 Gradle 7.3 兼容

Kotlin 1.8.0 完全支持 Gradle 版本 7.2 和 7.3。您也可以使用 Gradle 版本至最新的 Gradle 版本,但如果您这样做,请注意,您可能会遇到弃用警告,或者某些新的 Gradle 功能可能无法使用。

此版本带来了许多更改:

  • 将 Kotlin 编译器选项公开为 Gradle 惰性属性

  • 提高支持的最低版本
    从 Kotlin 1.8.0 开始,支持的最低 Gradle 版本为 6.8.3,支持的最低 Android Gradle 插件版本为 4.1.3。
    gradle插件版本与gradle版本的对应关系如下
    https://kotlinlang.org/docs/gradle-configure-project.html#apply-the-plugin

  • 能够禁用 Kotlin 守护进程回退策略

kotlin.daemon.useFallbackStrategy true false  useDaemonFallbackStrategy

编译通常运行在gradle守护进程上,如果守护进程因为某些原因挂掉了,那么还可以在守护进程之外编译运行。

  • 在传递依赖项中使用最新的 kotlin-stdlib 版本
    通过以下选项对齐kotlin版本
kotlin.stdlib.jdk.variants.version.alignment=false
//或者
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
  • 强制检查相关 Kotlin 和 Java 编译任务的 JVM 目标兼容性相等性

  • 解决 Kotlin Gradle 插件的传递依赖关系
    为避免传递依赖中版本不一致导致编译出错,添加下列选项来进行约束

dependencies {constraints {implementation("org.jetbrains.kotlin:kotlin-sam-with-receiver:1.8.0")}
}
  • 弃用和移除
    具体查看如下链接:
    https://kotlinlang.org/docs/whatsnew18.html#deprecations-and-removals

参考

https://kotlinlang.org/docs/whatsnew18.html
https://kotlinlang.org/docs/whatsnew-eap.html

http://www.hyszgw.com/news/57451.html

相关文章:

  • 郑州建材网站建设有没有做php项目实战的网站
  • 网站左侧导航代码湖南酒店网站建设
  • 沈阳做网站的公司有记事本做简易网站
  • 网站便民服务平台怎么做成都的教育品牌网站建设
  • 成都医院手机网站建设网站正在建设中模板单页
  • 网站规划建设实训报告线上运营平台有哪些
  • app 排名网站wordpress移动排版
  • 网站做反向代理对百度收录有影响吗河南郑州汽车网网站建设
  • 网站做推广要备案吗好用的wordpress app
  • 织梦网站修改幻灯片wordpress 模板框架
  • 百度收录什么网站吗精利手表网站
  • 网站开发所需人员建设网站需要注意什么
  • 张家口城乡建设局网站机关网站建设管理工作自查报告
  • 小馋网站建设书网站技术建设维护技术论文
  • 石家庄科技网站建设九江有哪些免费推广网站
  • 网站的建设与维护就业方向软件开发常用架构
  • 论坛型网站怎么做0元开网店
  • 做网站需要用到技术seo整站优化技术培训
  • 网站到期查询广元百度做网站多少钱
  • 网站如何做新闻聚合Python电影网站开发
  • 做网站后台数据库建设seo优化网络
  • 河北建设厅网站开通账号分析网站建设
  • 网站建设关键要素设计网页价格
  • 网站规划流程莱芜有需要制作网站的公司吗
  • 郑东新区建设局网站京东商城网站怎么做
  • 龙华区城市建设局网站网页传奇游戏怎么注销
  • 服务型网站建设的主题能源公司网站建设
  • 佛山网站制作做多少钱广州aso优化
  • 个体做敦煌网站怎么样中国建设银行网站地图
  • 哪个网站做推广做的最好源创派网站建设