title | date | author | tags | keywords | categories | reward | reward_title | reward_wechat | reward_alipay | source_url | translator | translator_url |
---|---|---|---|---|---|---|---|---|---|---|---|---|
[译]Kotlin 1.1-M03 is here! |
2016-11-24 04:50:00 -0800 |
Ilya Chernikov |
官方动态 |
false |
Have a nice Kotlin! |
我们很高兴地宣布即将到来的 Kotlin1.1 的第三个里程碑。此版本带来了新的语言功能,以及 JavaScript 后端,编译器和 IDEA 插件中的改进和修复。新版本还包括 Kotlin 1.0.5 中引入的所有工具功能,并与 IntelliJ IDEA 2016.3 EAP 和 Android Studio 2.2 和 2.3 兼容。 与其他里程碑版本一样,我们为新语言和库功能提供无后向兼容性保证。在 1.1 版本的里程碑版本中引入的任何内容都将在最终 1.1 版本之前更改**。 请分享您关于新功能或您可能遇到的任何问题的反馈,通过此版本 YouTrack , 论坛 和 松弛 。 1.1-M03 的完整更新日期可用 这里 。
{% raw %}
{% endraw %}
现在可以使用下划线而不是 lambda 的未使用参数的名称:
{% raw %}
{% endraw %}foo { _, x -> ... }
{% raw %}
{% endraw %}解构声明中的一个未使用的变量名称现在也可以用下划线替代。
{% raw %}
{% endraw %}val (x, _, z) = expr
{% raw %}
{% endraw %}这两种情况在适当的情况下进行了详细描述 保持 。
根据 Java 8 规范,Kotlin 现在支持在数字之间使用单个下划线符号的数字文字。例如:
{% raw %}
{% endraw %}val ONE_MILLION = 1_000_000
{% raw %}
{% endraw %}见 保持 更多的细节和例子。
的支持 提案 以两种内在功能的形式登陆标准图书馆:
{% raw %}
{% endraw %}inline fun <reified T : Enum<T>> enumValues(): Array<T>
inline fun <reified T : Enum<T>> enumValueOf(name: String): T
{% raw %}
{% endraw %}它们允许枚举通用枚举类型的值。例如。
{% raw %}
{% endraw %}enum class RGB { RED, GREEN, BLUE }
print(enumValues<RGB>().joinToString { it.name }) // prints RED, GREEN, BLUE
{% raw %}
{% endraw %}如详细描述的 保持 DSL 作者在为构建器类构造表达范围限制方面存在问题。例如,对于一些 html-builder DSL:
{% raw %}
{% endraw %}table {
tr {
tr {} // PROBLEM: Table.tr() is valid here
}
}
{% raw %}
{% endraw %}为了解决这个问题,我们添加了@DslMarker
注释,允许在这些情况下更准确地控制可见性范围。有关使用示例请参阅 使用此功能的 kotlinx.html 库的预览版本 (看到 HtmlTagMarker 和 HTMLTag 实现和 DSL- 标记 预览库使用信息)。
不同平台的标准库统一过程正在向前发展。我们已经开始统一 1.1-M2 中的异常类型,现在在所有平台上都支持一些更常见的类型,可以在kotlin。*
包中使用,默认情况下导入。这些包括:
- ArrayList,HashSet,LinkedHashSet,HashMap,LinkedTashMap 在 kotlin.collections 中
- 在 kotlin.text 中附加和 StringBuilder
- 比较器在 kotlin.com 对比
在 JVM 上,这些只是来自java.util
和java.lang
的旧旧类型的 typealiases
JavaScript 后端现在支持与 JVM 后端兼容的以下 Kotlin 语言功能:
- 协调程序
- lambda 参数中的解析
- 解构声明中未使用的变量名
JavaScript 后端现在可以生成更多的静态可检查代码,这对 JS 代码处理工具(比如 minifier,optimizers,linters 等)来说更为友善。
**在 Maven / Gradle 中:**添加 http://dl.bintray.com/kotlin/kotlin-eap-1.1 作为构建脚本和项目的存储库;使用 1.1-M03 作为编译器和标准库的版本号。 **在 IntelliJ IDEA 中:**转到工具→Kotlin→配置 Kotlin 插件更新,然后在更新频道下拉列表中选择“早期访问预览 1.1”下拉列表,然后按检查更新。 开车去 Kotlin!