2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

如何使用YashanDB实现企业内部数据共享安全策略

数据库砖家

如何使用YashanDB提升企业数据管理效率和安全性

数据库砖家

如何通过YashanDB实现更好的客户关系管理

数据库砖家

阿里云基础设施 AI Tech Day AI 原生,智构未来——AI 原生架构与企业实践专场

阿里巴巴云原生

阿里云 AI 云原生

CAD如何输出PDF多页文件

极客天地

如何使用YashanDB进行数据库性能诊断与优化

数据库砖家

通过YashanDB实现分布式数据库管理

数据库砖家

鸿蒙NEXT应用国际化:日历与历法处理

最新动态

CAD动态块属性文字为什么不跟随移动

极客天地

如何使用YashanDB实现企业数据库自动扩容

数据库砖家

如何使用YashanDB数据库进行数据分析

数据库砖家

如何使用YashanDB数据库提升大数据处理能力?

数据库砖家

通过YashanDB实现多环境数据同步和管理

数据库砖家

如何通过YashanDB实现企业级数据生命周期管理

数据库砖家

鸿蒙NEXT应用本地化:多语言社交应用

最新动态

《独立开发者精选工具》第 018 期

Immerse

低代码“我的待办” :办理、退签全流程拆解

引迈信息

如何使用YashanDB提升移动应用的数据响应速度?

数据库砖家

通过YashanDB实现企业级数据一致性和隔离性的技术分析

数据库砖家

鸿蒙NEXT应用国际化:时间与日期格式化

最新动态

鸿蒙应用开发从入门到实战(六):ArkTS声明式UI和组件化

程序员潘Sir

鸿蒙 HarmonyOS

如何通过YashanDB实现企业数据的智能分析与挖掘

数据库砖家

如何使用YashanDB进行实时数据分析

数据库砖家

如何使用YashanDB数据库构建实时报告系统

数据库砖家

如何通过YashanDB实现复杂查询的高效处理?

数据库砖家

鸿蒙高安全性输入法的实现:基础模式与完整体验模式下的输入法功能适配

最新动态

鸿蒙5参展国家网络安全周:星盾安全架构再升级多方位保护隐私

最新动态

如何使用YashanDB数据库快速构建数据服务API

数据库砖家

如何通过YashanDB实现跨区域数据容灾备份

数据库砖家

HarmonyOS NEXT智能家居数据同步与管理方案:基于WLAN和BLE的多设备连接

最新动态

如何使用YashanDB提升企业数据库管理效率?

数据库砖家

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