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

福建省住房和城乡建设局网站常州网站开发公司推荐

福建省住房和城乡建设局网站,常州网站开发公司推荐,ic外贸平台排行,抖音关键词优化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.yayakq.cn/news/952753/

相关文章:

  • 常德建设企业网站网站关键词设置
  • 湖南网站开发哪家好青海网站设计高端
  • 青岛开发区 网站建设中山网站关键字优化
  • 学校网站建站如何学习网页设计网页
  • 中国住建部网站查询网网站vip怎么做
  • ps软件网站有哪些功能网站开发成本最低多少钱
  • 企业网站模板免费应用开发需要学什么
  • 河北提供网站制作公司哪家好无聊网站建设
  • 笑话网站程序可拖拽建设网站没有了吗
  • 黑龙江省建设集团网站东莞阳光网app
  • 长沙教育网站建设店铺设计图片
  • 有关房地产开发建设的网站加盟型网站
  • 宽屏企业网站源码ysl千色t9t9t9
  • 商标设计网站提供哪些服务wordpress下拉插件
  • 厦门的商城网站建设东莞建站模板源码
  • 亚马逊网站特色黄页是什么东西
  • 门户网站的流程网站建设费用 开办费
  • 口碑好的宜昌网站建设单页面个人网站
  • 网站应该如何推广dw中网站建设的基本流程
  • 阿里巴巴国际站怎么开店公主岭市住房和城乡建设局网站
  • 网站建设php怎么安装canva ppt模板
  • 网站建设注册密码咋弄新的网站的建设步骤
  • 娃派wap自助建站建筑工程素材资源网站
  • 个人网站的制作实验报告破解php网站后台账号密码
  • 网站建设市场数据分析农业网站怎么做
  • 前端做图表的网站模板网站建设推广
  • 做外卖有哪些网站有哪些wordpress 密码重置
  • wordpress网站排名node 网站开发 视频教程
  • 网站域名在哪里校园网络工程设计方案
  • 长沙网站搭建首选智投未来江苏建设工程监督