當前位置:
首頁 > 科技 > Kotlin 1.3帶來穩定的協程、合約及其他

Kotlin 1.3帶來穩定的協程、合約及其他

作者 | Sergio De Simone

譯者 | 無明

在荷蘭阿姆斯特丹舉行的 KotlinConf2018 大會上,JetBrains 宣布推出 Kotlin 1.3 RC,引入了新的語言特性,如穩定的協程、合約、內聯類等。在 KotlinConf 大會上,谷歌和 JetBrains 也宣布了要共同努力建立 Kotlin 基金會。

協程為設計非同步、非阻塞的程序提供了強大的範式。協程是輕量級的線程,使用 CoroutineScope 的 launch 生成。以下是協程的一個極簡示例,該協程執行一些並發處理,然後 join 到啟動線程。runBlocking 用來包裝協程以及啟動和等待它的代碼塊,它定義了協程的作用域:

協程可以被暫停、重新啟動和組合。之前版本的 Kotlin 已經提供了協程功能,但直到 1.3 版才真正穩定下來,這意味著它們的 API 在將來的版本中不會發生變更。

合約(contract)是 Kotlin 類型系統新增的新實驗特性,用於描述除函數簽名之外的附加保證。JetBrains 工程師 Ilya Gorbunov 將合約描述為一種通過帶有對調用方有利的約束的函數簽名來豐富可用類型信息的方法:

有了合約,函數可以告訴編譯器「我將以這種方式來影響智能轉型」或「我將立即執行這個 lambda,並且僅執行一次」或「只有當列表為非空時,我才返回 false」,等等。

合約目前用於改進智能轉型及更徹底地分析變數初始化:

內聯類是 Kotlin 最新版本中引入的另一個實驗性特性。內聯類是指只有一個屬性的類:

它們對於防止重載時發生簽名衝突非常有用,如下面的示例所示,它使用不同的內聯類型進行三個重載,所有內聯類型都映射到 String:

一個可能吸引新 Kotlin 開發人員的是改造後的在線 playground,除了新的外觀之外,它還提供了一個新的「Kotlin by Example」。

如果你對 Kotlin 1.3 帶來的所有新特性和改進感興趣,可以仔細閱讀 Kotlin 的官方發布公告。

另外,谷歌和 JetBrains 宣布成立 Kotlin 基金會,旨在推動 Kotlin 的發展,同時確保 Kotlin 保持自由和開放。兩年前,谷歌宣布將 Kotlin 作為 Android 一等開發語言,並開始為其移動平台帶來一些改進以便為開發人員提供更好的體驗。谷歌表示,Google Play 上排名前 1000 的 Android 應用中已經有 27%已經使用了 Kotlin。

如果你使用了 JetBrains IntelliJ IDEA,那麼使用 Kotlin 1.3 RC 就會非常容易,IDEA 內置了對 Kotlin 更好的支持。如果你使用 Maven/Gradle,需要在配置中添加 https://dl.bintray.com/kotlin/kotlin-eaprepo,並獲取 1.3.0-rc-57 版本。

英文原文

https://www.infoq.com/news/2018/10/kotlin-1.3-rc

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

程序員能靠技術渡過中年危機嗎?
年中趨勢匯總:我們真的能跟上技術潮流么?

TAG:InfoQ |