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

俄语培训网站建设杭州程序员培训班

俄语培训网站建设,杭州程序员培训班,网站开发文档要求,wordpress仿百度百家1、稳定版对于枚举、密封类与布尔值主语穷尽 when 语句 一个详尽的when语句包含了所有主题可能的类型或值的分支,或者对于一些类型包含一个else分支。它覆盖了所有可能的情况,使代码更加安全。 即将禁止非详尽的when语句,以使行为与when表达…

1、稳定版对于枚举、密封类与布尔值主语穷尽 when 语句

一个详尽的when语句包含了所有主题可能的类型或值的分支,或者对于一些类型包含一个else分支。它覆盖了所有可能的情况,使代码更加安全。

即将禁止非详尽的when语句,以使行为与when表达式一致。为了确保平滑的迁移,Kotlin 1.6.0 会对枚举、密封类或布尔类型的主题的非详尽的when语句发出警告。这些警告将在未来的版本中变成错误。

2、稳定版挂起函数作为超类型

在Kotlin 1.6.0中,挂起函数类型的实现已经变得稳定。1.5.30提供了预览版。

在设计使用Kotlin协程并接受挂起函数类型的api时,该特性非常有用。现在,可以通过将所需的行为封装在实现挂起函数类型的单独类中来简化代码。

class MyClickAction : suspend () -> Unit {override suspend fun invoke() { TODO() }
}fun launchOnClick(action: suspend () -> Unit) {}

在先前只允许使用lambda和挂起函数引用的地方,现在可以使用此类的实例:launchOnClick(MyClickAction())

目前由于实现细节,存在两个限制:

  1. 您不能在超类型列表中混合普通函数类型和暂停函数类型。
  2. 您不能使用多个暂停函数超类型。

3、稳定版挂起转换

Kotlin 1.6.0引入了从普通函数类型到挂起函数类型的稳定转换。从1.4.0开始,该功能支持函数字面值和可调用引用。在1.6.0中,它可以与任何形式的表达式一起使用。作为调用参数,现在可以传递任何适合普通函数类型的表达式,其中预期是挂起函数类型。编译器将自动执行隐式转换。

fun getSuspending(suspending: suspend () -> Unit) {}fun suspending() {}fun test(regular: () -> Unit) {getSuspending { }           // OKgetSuspending(::suspending) // OKgetSuspending(regular)      // OK
}

4、稳定版注解类实例化

Kotlin 1.5.30引入了在JVM平台上实例化注解类的实验性支持。在1.6.0中,该功能默认可用于Kotlin/JVM和Kotlin/JS。

5、改进了递归泛型类型的类型推断

Kotlin 1.5.30引入了对递归泛型类型的类型推断的改进,使其仅基于对应类型参数的上界即可推断类型参数。该改进只能在编译器选项下使用。在版本1.6.0及更高版本中,默认启用了此功能

// Before 1.5.30
val containerA = PostgreSQLContainer<Nothing>(DockerImageName.parse("postgres:13-alpine")).apply {withDatabaseName("db")withUsername("user")withPassword("password")withInitScript("sql/schema.sql")
}// With compiler option in 1.5.30 or by default starting with 1.6.0
val containerB = PostgreSQLContainer(DockerImageName.parse("postgres:13-alpine")).withDatabaseName("db").withUsername("user").withPassword("password").withInitScript("sql/schema.sql")

6、构建器类型推断变更

Builder inference是一种类型推断方式,用于调用泛型构建器函数时非常有用。它可以通过lambda参数内部调用的类型信息来推断调用的类型参数。

进行多个更改,以更接近完全稳定的builder推断。从1.6.0开始:

可以在builder lambda中调用返回尚未推断类型实例的函数,而无需指定1.5.30中引入的-Xunrestricted-builder-inference编译器选项。 通过使用-Xenable-builder-inference,可以编写自己的构建器而无需应用@BuilderInference注解。

请注意,这些构建器的客户端将需要指定相同的-Xenable-builder-inference编译器选项。

使用-Xenable-builder-inference,如果常规类型推断无法获取关于类型的足够信息,则builder推断将自动激活。

7、对类的类型参数上注解的支持

@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class BoxContentclass Box<@BoxContent T> {}

所有类型参数上的注解都会被编译为 JVM 字节码,这样注解处理器就可以使用它们。

8、标准库

  • 新版 readline 函数
  • 稳定版 typeOf()
  • 稳定版集合构建器
  • 稳定版 Duration API
  • 按 Regex 拆分为序列
  • 整数的循环移位运算
  • JS 平台 replace() 与 replaceFirst() 的变更
  • 既有 API 的改进
  • 弃用项

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

相关文章:

  • 网站开发技术服务合同网站源码程序修改
  • 如何进行网站宣传推广做网站开发挣钱吗
  • 山西网站建设营销qq诗词网页制作素材
  • 网络宣传网站建设价格app store怎么退款
  • 地下城做解封任务的网站上海网站建设系
  • wordpress python脚本外贸网站怎么做seo
  • 一级做a免费观看视频网站做网站电脑开一天用多少钱
  • 海网站建设生产厂家哪家好邢台163官网
  • 小说网站模板htmlcom域名注册情况
  • 购物网站建设报价赣州市经开区住房和建设局网站
  • 大良做网站外贸网站框架
  • 北京做网站公司排深圳防疫今天最新规定
  • pc网站做成移动网站网络游戏代理
  • 华为企业建设网站的目的游戏代理平台免费
  • 做线上交互的网站青岛网上房地产网站
  • 推广员网站网站建站合同
  • 燕郊网站开发网站根目录验证文件是什么
  • 学校网站建设宗旨常州百度青之峰
  • 轻量应用服务器可以做网站吗安全管理平台
  • 山东省住房城乡建设厅网站首页宁夏建设厅官方网站
  • 中小企业 网站建设做农药的网站
  • 营销网站建设规划方案山东企业网站建设哪家好
  • 品牌网站建设怎么收费知名的crm管理系统
  • 做网站用dw的多吗wordpress 加载 蛮
  • 舟山市住房城乡建设局网站wordpress视频代码html5
  • 网站建设美工招聘展示型网站制作服务
  • 网站建站教程手机手机网站开发
  • 万网网站后台广告在线设计网站
  • 推广平台网站有哪些宁阳移动网站制作
  • 网站ip指向列表官方网站的必要性