写点什么

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

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

关注

评论

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

macos 10.15系统:macOS Catalina for mac 正式版

你的猪会飞吗

mac软件下载 mac破解软件下载

望繁信科技荣获第六届“中国创翼”创业创新大赛二等奖,将代表上海市参加全国总决赛

望繁信科技

流程挖掘 流程智能 上海望繁信科技 现代企业服务 业务流程管理优化

黑神话悟空是什么游戏 黑神话悟空配置要求 苹果电脑怎么玩黑神话悟空 黑神话悟空和西游记的联系

阿拉灯神丁

游戏 Mac 软件 苹果电脑 CrossOver Mac下载 黑神话悟空

在 Confluent Cloud 上使用 Databend Kafka Connect 构建实时数据流同步

Databend

MySQL UDF 提权初探

GreatSQL

【第2期】2024 搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读.md

极限实验室

elasticsearch Meetup easysearch 极限科技 搜索客社区

成就江旻憓奥运金牌的背后:权威型教养

心大陆多智能体

AI大模型 心理健康 数字心理

[Paper Reading]: Self-Improving Alignment with LLM-as-a-Meta-Judge

吴京

LLM LLM-as-a-Judge

深度解读昇腾CANN小shape算子计算优化技术,进一步减少调度开销

华为云开发者联盟

CANN 昇腾 企业号 8 月 PK 榜 2024企业号8月pk 算子优化

ChatGPT 人工智能助理 Assistant

测试人

软件测试

零信任产品联动能力持续提升,全面整合协同运行

芯盾时代

iam 统一身份认证 零信任 mfa

【功能详解】TimechoDB 与 Ignition 成功集成!

Apache IoTDB

智能化库存管理:1688商品详情API的革新应用

代码忍者

NGINX Gateway Fabric 如何实现复杂的路由规则

NGINX开源社区

JavaScript 开源 HTTP 经验分享 API

简化流程:京东商品详情API的快速集成指南

代码忍者

redis设置用户名和密码

智慧源点

mac篮球游戏:NBA 2K23 Arcade Edition for Mac

你的猪会飞吗

mac单机游戏 mnac软件

基于51单片机设计的热敏电阻测温系统

DS小龙哥

8月月更

HarmonyOS SDK助力美团单车提供便捷流畅扫码新体验

HarmonyOS SDK

HarmonyOS

深入理解 RDMA 的软硬件交互机制

阿里技术

nvidia 分析 网卡 RDMA

终极自托管解决方案指南

NocoBase

开发工具 解决方案 云服务

贝壳的面经!怎么好像有点简单?

王中阳Go

Go 面经

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