發(fā)布于:2020-12-24 16:05:39
0
147
0
上周,JetBrains向編程社區(qū)發(fā)布了Kotlin 1.4。 該更新增加了一些新的語言功能,但也將重點放在改善生活質(zhì)量和性能上,特別是與JetBrains自己的IntelliJ IDEA IDE結(jié)合使用時。
Kotlin是一種最著名的編程語言,即“無疣的Java”。 它既可以編譯為Java字節(jié)碼和本機代碼,也可以編譯為JavaScript。 三年來,它一直是我們最受歡迎的五種語言之一,這在一定程度上要歸功于Android開發(fā)采用了Kotlin優(yōu)先方法,因此在今年的調(diào)查中,它已成為最受歡迎的第13種語言。 Java仍然更受歡迎并且正在積極開發(fā)中,但是Kotlin游擊隊的人們對此表示贊賞。
那么用戶可以從這個新版本中得到什么呢? 繼續(xù)閱讀。
性能提升
此版本的主要重點是全面提高性能。 Jetbrains(和其他貢獻者)修復了60多個與性能相關的問題。 其中包括許多IDE錯誤,這些錯誤會減慢速度,導致內(nèi)存泄漏和凍結(jié)。 自動完成結(jié)果現(xiàn)在可以更快地浮出水面,這是使用IDE公司創(chuàng)建的編程語言的好處之一。
對于性能下降,沒有什么比編譯器更好。 大量的編譯時間消耗了開發(fā)人員的生產(chǎn)力,因此此發(fā)行版包含一個全新的編譯器。 Kotlin代碼應該可以更快地編譯到任何受支持的目標平臺。 此外,他們添加了一個API,該API允許將來擴展到編譯器。
功能接口
以前僅在使用Java編寫接口時才支持單抽象方法(SAM)接口(即功能接口)。 盡管Kotlin可與Java庫互操作,但這可能會導致復雜化,您必須使用Java編寫接口并使用Kotlin編寫實現(xiàn)。 隨著lambda表達式的相關性日益增加,這變得越來越繁重,并且與Kotlin保持簡潔并提高開發(fā)人員滿意度的理念不符。
使用Kotlin現(xiàn)在直接支持的SAM接口,您可以自動將與SAM接口匹配的lambda表達式轉(zhuǎn)換為實現(xiàn)該接口的類的實例,而無需手動編寫實現(xiàn)類。
顯式API模式
與編寫應用程序的開發(fā)人員相比,圖書館作者還有一個額外的麻煩:可見性。 他們需要確保任何具有其功能的人以及以該庫為依賴項的任何人都可以看到其API方法,并且需要知道任何公開變量的類型。 默認情況下可見,可能意味著開發(fā)人員公開了應用程序開發(fā)人員從未看到過的內(nèi)容,而明確隱藏以前可見的內(nèi)容則意味著破壞了更改。
在顯式API模式下,所有方法都必須聲明其可見性,并且必須指定所有類型。 這是一個編譯器功能,可以作為gradle設置或命令行選項使用,并且可以拋出警告或錯誤,具體取決于您對API庫的態(tài)度如何。
語法便利
為了使開發(fā)人員的生活更輕松,Kotlin 1.4添加了許多小語言功能,有助于避免被疏忽所致:
在函數(shù)中混合命名和位置參數(shù)。是否想通過明確提及參數(shù)名稱來澄清參數(shù)?現(xiàn)在,您可以避免出現(xiàn)錯誤。例如`reformat('This is a String!',uppercaseFirstLetter = false,'-')`以前,您只能按方法中指定的順序傳遞值。
尾隨逗號。現(xiàn)在,在任何用逗號分隔的值或參數(shù)列表中,您都可以在列表末尾添加逗號,而不會引起錯誤。對于定期編輯并隨時間變化的列表很有用。
循環(huán)時在未標記的情況下使用`continue`和`break`。這些關鍵字現(xiàn)在可以按原樣使用,而無需使用`@ LOOP`進行標記。
這些新功能會繼續(xù)Kotlin的增長,還是只是讓現(xiàn)有的基礎滿意?在評論中讓我們知道,如果您認為這些添加中的任何一個使Kotlin成為Java的殺手or,或者它們只是在大肆宣傳。