<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Kotlin</id>
	<title>Kotlin - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Kotlin"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Kotlin&amp;action=history"/>
	<updated>2026-04-18T20:59:30Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=Kotlin&amp;diff=443414&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Kotlin&amp;diff=443414&amp;oldid=prev"/>
		<updated>2025-08-22T23:28:39Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Kotlin&amp;#039;&amp;#039;&amp;#039;是一種佇 Java 虛擬機頂懸執行的靜態型別程式語言，伊嘛會用得予人編譯做 JavaScript 原始碼。伊主要是由俄羅斯聖那得堡的 JetBrains 開發團隊所發展出來的程式語言，這个名稱來自聖那個得堡附近的科特林島。二空一二年一月，出名期刊《Dr . Dobb&amp;#039;s Journal》中 Kotlin 予人認定做是該月的最佳語言。雖然佮 Java 語法並無相容，猶毋過佇 JVM 環境內底 Kotlin 予人設計甲會當和 Java 程式碼相運作，並會當一直使用按呢 Java 集合框架等等的現有 Java 參照的函式庫。Hathibelagal 寫講，「 如果你當咧為啥物 Android 開發走揣一種替代程式語言，按呢應該試落來矣 Kotlin。伊蓋容易佇咧 Android 專案中替代 Java 或者是仝 Java 做伙使用。」&lt;br /&gt;
&lt;br /&gt;
==歷史==&lt;br /&gt;
&lt;br /&gt;
二空一一年七月，JetBrains 推出 Kotlin 專案，這是一个面向 JVM 的新語言，伊已經予人開發一年之久。JetBrains 負責人 Dmitry Jemerov 講，大多數的語言無𪜶當咧走揣的特性，猶毋過 Scala 除外。猶毋過，伊指出 Scala 的編譯時間過慢這一明顯欠點。Kotlin 既定目標之一是像 Java 仝款快速編譯。二空一二年二月，JetBrains 以 Apache 二許可證開源此專案。&lt;br /&gt;
&lt;br /&gt;
JetBrains 希望這个新的語言會當推動 IntelliJ IDEA 的銷售。&lt;br /&gt;
&lt;br /&gt;
Kotlin v 一鋪排佇二空一六年二月十五號發布。這予人認為是第一个官方穩定版本，並且 JetBrains 已經準備對該版本開始的長期向下相容性。&lt;br /&gt;
&lt;br /&gt;
佇咧 Google I / O 二千空一十七中，Google 宣布佇 Android 上為 Kotlin 提供最佳支援。&lt;br /&gt;
&lt;br /&gt;
==語法==&lt;br /&gt;
&lt;br /&gt;
Kotlin 真明顯受著 Java、C #、JavaScript、Scala、Groovy 等語言的這个影響。比如講 Kotlin 會當直接通過 ` println ( &amp;quot; Hello , $ { name } &amp;quot; ) ` 抑是 ` println ( &amp;quot; Hello , $ name &amp;quot; ) ` 來使用字串模仔，佮遮的古早的 shell script 類似。猶閣如 Kotlin 你中的分號是會當選的，這類似 JavaScript，而且 Groovy、Scala 嘛有仝款的能力。Kotlin 常數定義關鍵字是 ` val `（無仝款變數定義關鍵字 ` var `）， 表示固定值，這功能來自 Scala，Swift 嘛有類似功能。&lt;br /&gt;
&lt;br /&gt;
需要注意，Kotlin 無關鍵字 ` new `。&lt;br /&gt;
&lt;br /&gt;
===變數===&lt;br /&gt;
&lt;br /&gt;
使用 ` val `（全稱做 value，即（固定的）值）關鍵字定義唯讀變數，定義了後其值無法度修改使用 ` var `（全稱做 variable，即變數）關鍵字定義會當變數。&lt;br /&gt;
&lt;br /&gt;
===函式===&lt;br /&gt;
&lt;br /&gt;
使用 ` fun ` 關鍵字定義一个函式。&lt;br /&gt;
&lt;br /&gt;
上例定義一个傳來到兩个 Int 變數，並且倒轉來兩數之佮的求和函式。&lt;br /&gt;
&lt;br /&gt;
===程式的入口點===&lt;br /&gt;
&lt;br /&gt;
類似 C、C + +、C #、Java 和 Go，Kotlin 程式的入口點是一个名為「main」的函式。main 函式有一个包含命令列選項的參數（對 Kotlin 一爿三開始是可選的）。 Kotlin 支援親像 Perl 和 Unix shell 彼字串模仔。類型推斷嘛是支援的。&lt;br /&gt;
&lt;br /&gt;
===函式擴充===&lt;br /&gt;
&lt;br /&gt;
Kotlin 佮 C #、JavaScript 類似，會當擴充類別的新功能，煞無需要繼承這个類別，抑是使用像裝飾器（decorator）這款的任何類型的設計模式（design pattern）。 擴充函式會當講是 Kotlin 的核心，佇標準庫里滿四界坉著擴充函式。&lt;br /&gt;
&lt;br /&gt;
擴充函式是靜態分發的，也就是講，𪜶毋是以接收者類型做準的虛擬函式。踮咧呼的擴充函式是由函式呼叫所在的表達式的類型來決定的，毋是由表達式來執行時求值結果決定的。&lt;br /&gt;
&lt;br /&gt;
佇後述例中，String 類別予人擴充出一个成員 lastChar。&lt;br /&gt;
&lt;br /&gt;
利用函式擴充，Kotlin 嘛支援運算子加載：&lt;br /&gt;
&lt;br /&gt;
===getter 和 setter===&lt;br /&gt;
&lt;br /&gt;
Kotlin 像 C # 仝款支援屬性（property）。&lt;br /&gt;
&lt;br /&gt;
===解包引數===&lt;br /&gt;
&lt;br /&gt;
類似 Python , 解包（unpack）講的是對實際參數的解包，干焦需要佇頭前加一个星號 \ * 即可，如 test（\ * a）:&lt;br /&gt;
&lt;br /&gt;
===函式岫狀===&lt;br /&gt;
&lt;br /&gt;
Kotlin 支援函式岫狀（nested functions）， 允准函式內才定義函式，類似 JavaScript、C # 佮 Python 語言。&lt;br /&gt;
&lt;br /&gt;
===解構聲明===&lt;br /&gt;
&lt;br /&gt;
Kotlin 支援解構聲明，這佮 Python 迵天解包相𫝛。&lt;br /&gt;
&lt;br /&gt;
比如講，collection object 包括解構式會當分離其元素 :&lt;br /&gt;
&lt;br /&gt;
===抽象類別===&lt;br /&gt;
&lt;br /&gt;
抽象類別（Abstract classes）定義抽象或者是純虛擬（Pure Virtual）占位函式，需要予人繼承。抽象類別預設是 open 的。&lt;br /&gt;
&lt;br /&gt;
===類別屬性===&lt;br /&gt;
&lt;br /&gt;
Kotlin 提供下列的關鍵字來限制頂層（top-level）聲明，用佇咧控制類別佮成員佇咧繼承的時陣可見性（作用域）。 𪜶可用佇類別及其成員 :&lt;br /&gt;
&lt;br /&gt;
用佇類別的成員聲明的時陣，含義如下：&lt;br /&gt;
&lt;br /&gt;
* public：全域可見。為著預設的類型。&lt;br /&gt;
* internal：佇咧當前模組中可見。&lt;br /&gt;
* protected：佇咧做前類別的一級子類別中可見，若是子類莫閣予人繼承，是佇後一級子類別中不可見。&lt;br /&gt;
* private：佇咧做前類別中可見。&lt;br /&gt;
&lt;br /&gt;
用佇頂層聲明時，含義如下：&lt;br /&gt;
&lt;br /&gt;
* public：全域可見。為著預設的類型。&lt;br /&gt;
* internal：佇咧當前模組中可見。&lt;br /&gt;
* private：佇當前檔案中可見。&lt;br /&gt;
&lt;br /&gt;
比如講 :&lt;br /&gt;
&lt;br /&gt;
===主建構函式 vs . 二級建構函式===&lt;br /&gt;
&lt;br /&gt;
佇咧 Kotlin 中類別會當有一个主建構函式和多個二級建構函式。若主建構函式無註解抑是可見性說明，著 ` constructor ` 關鍵字會當省略。若建構函式當中無其他的操作，大量的括號嘛會當省略。&lt;br /&gt;
&lt;br /&gt;
Kotlin 的二級建構函式閣較類似 C + + , C # , 和 Java。&lt;br /&gt;
&lt;br /&gt;
===Anko library===&lt;br /&gt;
&lt;br /&gt;
Anko 是一組為 Kotlin 打造的函式庫，其實伊功能是用來開發的 Android UI 應用程式，現已經棄用。&lt;br /&gt;
&lt;br /&gt;
===Kotlin 互動模式===&lt;br /&gt;
&lt;br /&gt;
Kotlin 除了編譯做 Java 位元組碼執行，嘛會當做手稿的語言解說執行，此特性使得 Kotlin 會當互動模式執行。互動模式是手稿語言有的特性，直譯器會當即時執行使用者輸入的代碼，並回饋執行結果。典型的語言有 Python、JavaScript（佇咧 V 八 ia̋n-jín 支援下）、 Ruby。&lt;br /&gt;
&lt;br /&gt;
===Kotlin 也是手稿語言===&lt;br /&gt;
&lt;br /&gt;
Kotlin 抑是會當看做手稿的語言（scripting language）。 其實指令碼存成 Kotlin source file ( . kts )，就成做可執行檔。&lt;br /&gt;
&lt;br /&gt;
為著執行 Kotlin 指令碼，阮咧執行編譯器的時陣才閣加上-script 選項。&lt;br /&gt;
&lt;br /&gt;
===Kotlin 的 hello world 例===&lt;br /&gt;
&lt;br /&gt;
===空變數佮其運算===&lt;br /&gt;
&lt;br /&gt;
Kotlin 嘿會當為空（nullable）的變數佮袂當為空（non-nullable）的變數作了區分。所有的可空物件（nullable objects）著愛佇定義的時陣加上 &amp;quot; ? &amp;quot; 等於是類型了後。開發人員搪著 nullable objects 時愛先確認 : null-check 愛予執行過，才有通好價值。可空性是 Kotlin 型別系統中幫助開發者避免以往 Java 的 NullPointerException 錯誤的特性。&lt;br /&gt;
&lt;br /&gt;
Kotlin 提供空安全（null-safe）運算子予開發人員 :&lt;br /&gt;
&lt;br /&gt;
* ? . ( Safe navigation operator ) 可用佇咧安全取（safely access）可能是空物件的函式抑是屬性。若是 object 為空（null）, 該方法將無被呼叫，而且表達式的值一定為空（null）。&lt;br /&gt;
* ? : ( Null coalescing operator ) 通常叫做艾維斯運算子呢（Elvis operator）:&lt;br /&gt;
&lt;br /&gt;
使用安全導引（safe navigation）運算子 :&lt;br /&gt;
&lt;br /&gt;
===高階函式和 lambda===&lt;br /&gt;
&lt;br /&gt;
Kotlin 亦支援高階函式佮 lambdas 功能。lambda 是一種匿名函式，允准開發者直接將表達式定義做函式，這類似 Python。&lt;br /&gt;
&lt;br /&gt;
Lambdas 會當用大括弧 { } 來定義。若是 lambda 含參數，𪜶會當定義佇大括弧內，並以-&amp;gt; 運算子區隔。&lt;br /&gt;
&lt;br /&gt;
==參考資料==&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* 官方網站&lt;br /&gt;
* 官方範例&lt;br /&gt;
* 官方網站-中文翻譯&lt;br /&gt;
* Kotlin 教學&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>