@lsmn
2016-06-12T10:59:57.000000Z
字数 1247
阅读 2826
JetBrains
JVM
Kotlin
Kotlin的开发正向着1.1版本迈进;Kotlin语言主要设计者Andrey Breslav介绍了JetBrains这门JVM语言新版本的路线图,该版本会包含重大的新语言特性。
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()
...
}
}
}
equals
、hashCode
和其他通用方法。这还提供了在一个密封类中扩展数据类的可能:
sealed class C() {
data class Example(...) : C()
}
forEach
的键值对参数解构成了两个部分:
myMap.forEach {
(k, v) ->
println(“$k => $v”)
}
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