写点什么

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

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

关注

评论

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

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

子豪sirius

架构师训练营 - 第二周作业

zcj

极客大学架构师训练营

第 02 周 开发编程框架 命题作业

Jaye

架构师训练营第二周 - 总结

无心水

极客时间 架构师 极客大学架构师训练营 23种设计模式 面向对象设计原则

训练营第二周总结

Mr冰凉

分布式唯一ID解析

设计原则之依赖倒置和接口隔离

极客大学架构师训练营 依赖倒置 设计原则 接口隔离

依赖倒置原则

Halley

Week 02- 作业:设计原则

dean

极客大学架构师训练营

架构师训练营」第 2 周作业

edd

架构 极客大学架构师训练营

架构师训练营 Week 02 作业

Wancho

Flink on Zeppelin (3) - Streaming篇

Geek_8o1tcx

大数据 flink 流计算 Zeppelin

第 2 周 - 课后作业

大海

小师妹学JVM之:深入理解JIT和编译优化-你看不懂系列

程序那些事

Java JVM JIT 签约计划第二季

架构师训练营第二周作业 (3)

烟雨濛濛

架构师训练营第2周总结

Glowry

极客大学架构师训练营

极客大学架构师训练营 编程的本质与未来 第三课 听课总结

John(易筋)

极客时间 极客大学 架构师 极客大学架构师训练营 编程的未来

训练营第二周作业

Mr冰凉

第二周作业

大雄

依赖倒置

架构师训练营第0期第二周作业

无名氏

依赖倒置原则 DIP 依赖反转原则

软件设计原则

jason

架构师训练营 -week2-总结

sljoai

架构师实现自己架构的主要手段

_MISSYOURLOVE

极客大学架构师训练营

OOD设计原则之DIP

无心水

极客大学架构师训练营 面向对象设计原则 OOD SOLID

使用接口隔离原则优化 Cache 类的设计

极客李

第 2 周 - 学习总结

大海

极客大学架构师训练营

架构师训练营-week2-作业

晓-Michelle

极客大学架构师训练营

架构师训练营-week2-作业

sljoai

作业 week

架构师训练营--第二周作业

_MISSYOURLOVE

极客大学架构师训练营 第二周作业

极客大学架构师训练营--编程的未来 面向对象 依赖倒置原则 -- 第二次作业

John(易筋)

极客时间 极客大学 架构师 极客大学架构师训练营 依赖倒置原则

架构师训练营 - 第二周作业

Melo

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