阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

Kotlin 1.1 路线图

  • 2016-06-12
  • 本文字数:932 字

    阅读完需:约 3 分钟

Kotlin 的开发正向着 1.1 版本迈进;Kotlin 语言主要设计者 Andrey Breslav介绍了JetBrains 这门JVM 语言新版本的路线图,该版本会包含重大的新语言特性。

Kotlin 1.1 将提供以下新语言特性。

  • 类型别名旨在为比较长的类型声明提供一种缩写机制,比如函数签名;类型别名不会引入新的类型,可以与原始定义互换使用。
  • 扩展 **绑定方法引用 **,支持引用对象成员。这样,你就可以引用String对象的equals方法,并赋给一个 Predicate 对象供后续使用:val p: Predicate<String> =“foo”::equals。Kotlin 1.0.x 已经支持类型引用。
  • 允许在类或函数的最顶层定义 **委托属性 **: ```
    fun foo() {
    val lazyBar by lazy { … }
    while (…) {
    if (…) {
    lazyBar.doBaz()

    }
    }
    }
复制代码
委托属性提供了一种机制,可以一次性实现所有像 lazy、observable 和 map-stored 这样的特定类型的属性,这样就不需要每次都实现它们。
- **[数据类](https://kotlinlang.org/docs/reference/data-classes.html)** 将支持继承,这就提供了从另外一个类派生出一个数据类的可能。数据类是那些只包含数据的类,Kotlin 会自动生成存取器、`equals`、`hashCode`和其他通用方法。这还提供了在一个密封类中扩展数据类的可能: ```
sealed class C() {
data class Example(...) : C()
}
  • 解构允许为 lambdas 参数传递组合名称,参见下面的例子,forEach的键值对参数解构成了两个部分: ```
    myMap.forEach {
    (k, v) ->
    println(“$k => $v”)
    }
复制代码
- **coroutines** 是 Kotlin 异步行为的基础。据 Breslav 介绍,coroutines 比 C# 5 引入的`async/await`模型更一般化。Kotlin 也将提供`async/await`,但是以 coroutines 为基础构建,而不是作为原语: ```
fun loadImage(url: URL) = async {
val bytes = await(loadBytes(url))
bytesToImage(bytes)
}

在工具方面,Kotlin 1.1 将直接支持 Java 8/9 特性,如默认方法生成。此外,JavaScript 后端将与实际的语言功能集保持一致。

Kotlin 的开发由 Kotlin Evolution and Enhancement Process(KEEP)推动,并依托一个 GitHub 库描述了所有计划的应用场景。

Kotlin 1.1 的源代码和二进制文件都兼容以前的版本,也就是说,新版本的 Kotlin 编译器不会破坏同旧源代码和二进制文件的兼容性。

查看英文原文 The Roadmap to Kotlin 1.1

2016-06-12 19:002565
用户头像

发布了 1008 篇内容, 共 373.9 次阅读, 收获喜欢 340 次。

关注

评论

发布
暂无评论
发现更多内容

服务器减少一半,TDengine在华自科技的落地实践

TDengine

数据库 tdengine 时序数据库

控制台彩色输出

FunTester

Java 测试框架 Groovy FunTester Jansi

视镜:华为云媒体质量管理最新实践

华为云开发者联盟

音视频 华为云 媒体质量 视镜

免杀技术的发展

喀拉峻

网络安全 安全 信息安全 免杀

质量基础设施“一站式”服务平台开发,一站式检验检测服务平台

电微13828808271

架构实战营4期第一模块作业

jialuooooo

架构实战营

愿当传播通信技术火种的普罗米修斯

融云 RongCloud

通信云 技术大会

QCon-OPPO数据平台Cloud Lake 降本增效实践

安第斯智能云

运维 后端 数据

Flutter 2 渲染原理和如何实现视频渲染

声网

flutter 大前端 音视频

复杂场景下,通信云服务商如何赋能开发者

融云 RongCloud

音视频 通信云 语音社交

区块链农产品溯源系统开发,助力农业品牌打造

电微13828808271

如何为你的听众设计一张精密的地图

将军-技术演讲力教练

探秘持久内存(PMem)中无锁实现多线程安全的持久化数据结构

第四范式开发者社区

持久内存 PMem 多线程安全

如何用会声会影制作简约的倒计时片头?

懒得勤快

为什么说泛娱乐出海离不开这家公司

融云 RongCloud

音视频 通信云 社交 泛娱乐 出海

想在 KubeSphere 中进行自定义监控?来瞧瞧这

API7.ai 技术团队

云原生 API网关 监控工具 KubeSphere Apache APISIX

直播:开发者如何抵达元宇宙

融云 RongCloud

开发者 元宇宙

如期而至-用户购买时间预测(上)

索信达控股

模型 购买预测 购买行为 精准营销

智慧社区建设解决方案,智慧社区综合服务平台开发

电微13828808271

数据分析中应该掌握的五个数学概念

好奇分析

数据分析 Excel 统计学 基本概念

Java 面向对象精讲【下】

XiaoLin_Java

面向对象 12月日更

风口之下,音视频应用出海的三大机遇

融云 RongCloud

音视频 通信 出海

nginx负载均衡策略你知道多少?

恒生LIGHT云社区

负载均衡 服务器 ngnix

EasyRecovery如何恢复md文件

淋雨

Camtasia

取代FMEA风险评估:如何在敏捷世界中管理风险

龙智—DevSecOps解决方案

风险管理 FMEA

大数据中心通过Perforce软件版本管理系统助力动力系统开发

龙智—DevSecOps解决方案

perforce 混合动力

搭积木一样实现语音社交软件开发

融云 RongCloud

开发者 通信云 语音社交

架构实战营模块一作业

Sindorei

「架构实战营」

网络安全之SQL注入深入分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 SQL注入

【技术干货】前端性能优化——快速定位代码bug

云智慧AIOps社区

开源 大前端 技术分享 技术干货

前端领域的数据状态统一管理机制

鲸品堂

大前端

Kotlin 1.1路线图_Java_Sergio De Simone_InfoQ精选文章