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

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>

  • 主站蜘蛛池模板: 商南县| 马边| 来宾市| 同仁县| 金堂县| 平定县| 龙泉市| 白玉县| 淮南市| 兴业县| 衡山县| 平和县| 赤城县| 宁南县| 兴和县| 旬邑县| 旌德县| 旬邑县| 响水县| 米林县| 汾西县| 宁津县| 辉县市| 蒙山县| 呼图壁县| 舒兰市| 黑山县| 吕梁市| 新营市| 汉中市| 黄梅县| 霍山县| 博湖县| 雷州市| 唐山市| 乐平市| 永顺县| 莱州市| 韶山市| 龙南县| 常德市|