如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

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

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

关注

评论

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

架构师系列 16 思维导图

桃花原记

架构师训练营第五周学习总结

跳蚤

架构总结思维导图

Mars

架构师系列 15 系统设计图

桃花原记

进入最佳汇报状态的反思

JiangX

28天写作

第十周命题作业

cc

LeetCode题解:433. 最小基因变化,双向BFS(beats 99%),JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

个人隐私之后期展望

张老蔫

28天写作

如何完成一次快速的查询

xcbeyond

MySQL ES 优化 MySQL优化 28天写作

28天瞎写的第二百三十四天:炒肝你吃得惯吗?

树上

28天写作

Soul网关源码解析目录

Java 网关 源码解析

CSS(十)——用CSS设置表格样式

程序员的时光

程序员 大前端 七日更 28天写作

死锁问题

武哥聊编程

Java 多线程 死锁

ReentrantReadWriteLock读写锁简单原理案例证明

叫练

ReentrantReadWriteLock 共享锁 独占锁 锁降级

怎么才能摸透String类的底层原理?看完这篇你就懂了

后台技术汇

28天写作

「架构师训练营 4 期」 第五周 - 001&2

凯迪

产品经理训练营-第三周作业

月亮 😝

第十周学习心得

cc

架构师训练营 4 期 第5周

引花眠

架构师训练营 4 期

你知道什么是敏捷交换机吗?

产品经理训练营-第三周学习总结

月亮 😝

智能汽车vs.智能手机 (28天写作 Day24/28)

mtfelix

智能手机 28天写作 智能汽车 未来社会 未来游牧化

Pulsar 社区周报|2021-01-18 ~ 2021-01-24

Apache Pulsar

大数据 开源 pulsar Apache Pulsar 消息系统

第10周作业&总结

胡益

ARTS打卡 第29周

引花眠

微服务 ARTS 打卡计划

关于上篇连接中的人的补充说明

孙苏勇

产品

产品经理训练营笔记-解决方案的设计和积累

.nil?

产品经理训练营

Scrum Patterns:准备就绪的标准 DoR(译)

Bruce Talk

敏捷 译文 Agile Scrum Patterns

产品的解决方案设计原则

🙃

产品经理

第三周作业

秦挺

架构师训练营第五周作业

跳蚤

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