Skip to content

Kotlin 語言特性與提案

JetBrains 根據 Kotlin 語言演進原則,以實務設計為導向來發展 Kotlin 語言。

自 Kotlin 1.7.0 起列出語言特性提案。

請參閱 Kotlin 演進原則文件 中關於語言特性狀態的說明。

探索與設計

支援不可變性 (Support immutability)

KEEP 討論

改進編譯期常數

KEEP 討論

CoroutineContext 作為上下文參數

KEEP 討論

豐富錯誤 (Rich Errors):動機與原理

KEEP 討論

Kotlin static 與 static 擴充

KEEP 討論

集合常值 (Collection literals)

KEEP 討論

版本多載 (Version overloading)

KEEP 討論

精簡 KDoc 歧義連結

KEEP 討論

KDoc 中擴充連結的解析

預覽中

基於名稱的解構 (Name-based destructuring)

預覽中

明確支援欄位 (Explicit backing fields)

預覽中

上下文參數 (Context parameters):支援上下文相關宣告

預覽中

未使用的傳回值檢查器

預覽中

屬性上註解使用處目標 (use-site targets) 的改進

預覽中

上下文相關解析 (Context-sensitive resolution)

預覽中

在 JVM 中公開裝箱的行內值類別

預覽中

Uuid

預覽中

通用不可分割量 (Common Atomics) 與不可分割陣列 (Atomic Arrays)

預覽中

KMP Kotlin-to-Java 直接實例化 (direct actualization)

穩定

基於資料流的窮舉性檢查 (Data flow-based exhaustiveness checking)

穩定

巢狀(非擷取)型別別名 (Nested (non-capturing) type aliases)

穩定

kotlin.time.Instant

穩定

when-with-subject 中的防護條件 (Guard conditions)

穩定

多錢符號插值:改進字串常值中 $ 的處理

穩定

非區域 (Non-local) breakcontinue

穩定

穩定的 @SubclassOptInRequired

穩定

Enum.entriesEnum.values() 的高效能替代方案

穩定

資料物件 (Data objects)

穩定

RangeUntil 運算子 ..<

穩定

絕對不可為 null 型別 (Definitely non-nullable types)

已撤銷

上下文接收器 (Context receivers)

已撤銷

Java 合成屬性參照 (Java synthetic property references)

探索與設計

支援不可變性 (Support immutability)

KEEP 討論

改進編譯期常數

KEEP 討論

CoroutineContext 作為上下文參數

KEEP 討論

豐富錯誤 (Rich Errors):動機與原理

KEEP 討論

Kotlin static 與 static 擴充

KEEP 討論

集合常值 (Collection literals)

KEEP 討論

版本多載 (Version overloading)

KEEP 討論

精簡 KDoc 歧義連結

KEEP 討論

KDoc 中擴充連結的解析

預覽中

基於名稱的解構 (Name-based destructuring)

預覽中

明確支援欄位 (Explicit backing fields)

預覽中

上下文參數 (Context parameters):支援上下文相關宣告

預覽中

未使用的傳回值檢查器

預覽中

屬性上註解使用處目標 (use-site targets) 的改進

預覽中

上下文相關解析 (Context-sensitive resolution)

預覽中

在 JVM 中公開裝箱的行內值類別

預覽中

Uuid

預覽中

通用不可分割量 (Common Atomics) 與不可分割陣列 (Atomic Arrays)

預覽中

KMP Kotlin-to-Java 直接實例化 (direct actualization)

穩定

基於資料流的窮舉性檢查 (Data flow-based exhaustiveness checking)

穩定

巢狀(非擷取)型別別名 (Nested (non-capturing) type aliases)

穩定

kotlin.time.Instant

穩定

when-with-subject 中的防護條件 (Guard conditions)

穩定

多錢符號插值:改進字串常值中 $ 的處理

穩定

非區域 (Non-local) breakcontinue

穩定

穩定的 @SubclassOptInRequired

穩定

Enum.entriesEnum.values() 的高效能替代方案

穩定

資料物件 (Data objects)

穩定

RangeUntil 運算子 ..<

穩定

絕對不可為 null 型別 (Definitely non-nullable types)

已撤銷

上下文接收器 (Context receivers)

已撤銷

Java 合成屬性參照 (Java synthetic property references)