精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Kotlin 1.2引入多平臺項目特性

責任編輯:editor004

作者:Sergio De Simone

2017-12-05 11:16:13

摘自:INFOQ

最新版本的Kotlin通過多平臺項目支持JVM和JavaScript平臺的代碼共享。公共模塊只能包含Kotlin代碼,也只能使用Kotlin的包,而平臺特定模塊可以包含Java或JavaScript代碼,它們可以被編譯成特定的格式。

最新版本的Kotlin通過多平臺項目支持JVM和JavaScript平臺的代碼共享。除此之外,它還帶來了語言和類庫方面的大量改進,以及更好的編譯器性能。

Kotlin在1.1版本中就已引入了對JavaScript的支持,而最新版本的Kotlin讓開發者可以很方便地管理在JVM和JavaScript平臺上運行的項目。因為有了Kotlin Native,在未來還將支持本地二進制包。

多平臺項目(multi-platform project)的基本原理是按照一定的方式來組織項目模塊,如一系列公共模塊和平臺特定模塊。平臺特定模塊所包含的代碼要么是運行在JVM上,要么是運行在JavaScript平臺上,可以自由訪問相應平臺的包。每一個平臺特定模塊都需要一個公共模塊,這些公共模塊提供了所謂的“預期聲明(expected declaration)”,平臺特定模塊必須實現這些聲明。因為有了這種機制,平臺獨立代碼可以調用平臺特定代碼。公共模塊只能包含Kotlin代碼,也只能使用Kotlin的包,而平臺特定模塊可以包含Java或JavaScript代碼,它們可以被編譯成特定的格式。

下面是如何定義公共模塊和相應平臺模塊的例子:

// Common modulepackage org.jetbrains.fooexpect class Foo(bar: String) { fun frob()}fun main(args: Array) { Foo("Hello").frob()}// JVM modulepackage org.jetbrains.fooactual class Foo actual constructor(val bar: String) { actual fun frob() { println("Frobbing the $bar") }}

一些跨平臺庫為Kotlin在公共模塊方面帶來了更強大的能力,包括一個序列化庫、一個測試庫和一個HTML同構庫。

在語言方面,Kotlin 1.2為某些場景提供了改進的智能類型轉換和類型推斷,標準庫中新增了kotlin.math包,序列和集合中也加入了新的標準庫函數。

Kotlin 1.2中的編譯器變得更快了,比1.1要快25%。在后續的次要版本中,編譯器性能將會有進一步的提升。

Kotlin 1.2已經被綁定到IntelliJ IDEA 2017.3當中,可以從官方的發布說明中看到更多相關信息。

查看英文原文:Kotlin 1.2 Introduces Multi-Platform Projects

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 东丽区| 五原县| 蓝田县| 马鞍山市| 镇赉县| 大连市| 林口县| 武功县| 巨野县| 固安县| 宁南县| 磐石市| 北海市| 原平市| 沁阳市| 新化县| 玉溪市| 龙游县| 阜宁县| 北宁市| 高淳县| 乡宁县| 唐海县| 双城市| 苏尼特右旗| 北川| 聂荣县| 阳城县| 新巴尔虎左旗| 水城县| 望江县| 日土县| 诏安县| 尼木县| 高邑县| 张家港市| 临沂市| 阜宁县| 繁峙县| 怀安县| 大连市|