写点什么

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:002828
用户头像

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

关注

评论

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

http请求超时, 底层发生了什么?

不在线第一只蜗牛

网络协议 网络 HTTP

为智算“强心”,为园区“壮体”:新质互联网驶入标准化快车道

脑极体

AI

科技掌握一切,智慧引领发展:财务规划技术与思维的碰撞

智达方通

企业管理 财务分析 科技创新 财务规划 预算分析

淘宝天猫API接口探索:轻松实现商品详情与关键字搜索

代码忍者

API 接口 pinduoduo API

MPC2024开幕演讲

明道云

CDC YAML 在阿里云的最佳实践

Apache Flink

大数据 flink 实时计算 yaml

直播电商,正在被内容逻辑重塑

趣解商业

直播 电商 抖音

数智化赋能龙港中医院,让医疗服务有了“人情味”

Alter

2024年好用的AI工具盘点!办公效率快到飞起!

职场工具箱

人工智能 职场 办公软件 AIGC AI生成PPT

通义开源语音处理框架 ClearerVoice-Studio;亚马逊 Nova 计划明年发布端到端语音模型丨 RTE 开发者日报

声网

鸿蒙NEXT开发中如何确保使用 PersistentStorage 存储的数据安全?

威哥爱编程

HarmonyOS HarmonyOS NEXT

确保对象的唯一性实现

测吧(北京)科技有限公司

测试

SD-WAN的核心服务能力

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SD-WAN国际专线

第77期 | GPTSecurity周报

云起无垠

和鲸分享| 世界500强莫德纳公司首席数据科学家Eric J. Ma:协同数据科学的制胜秘诀!

ModelWhale

Python 人工智能 大数据 R语言 大模型

企业数智化转型:低代码开发的五大优势解析

不在线第一只蜗牛

低代码 数智化

OWASP Top 10 安全漏洞与安全防护体系

测吧(北京)科技有限公司

测试

阴阳怪气的「道歉」背后,是新闻从业者的一次呐喊

TechubNews

单链表与双链表的应用与常见算法

测吧(北京)科技有限公司

测试

美团一面,有点难度

王中阳Go

Go 后端 面试问题

告别编码难题,JeeLowCode让应用开发更简单!#高效开发

JeeLowCode低代码平台

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