今天介紹使用命令行環境編譯、運行
Kotlin
,與其餘編程語言相似,
Kotlin
一樣須要下載並安裝對應的
SDK
,接下來便可使用該
SDK
提供的命令來編譯、運行
Kotlin
程序。
下載、配置Kotlin的SDK
下載和安裝
Kotlin SDK
請按以下步驟進行。
(1)登錄https://github.com/JetBrains/kotlin/releases,看到Kotlin SDK的最新發布本,便可看到如圖html
1.1
所示頁面。本書成書之時,
Kotlin SDK
的最新版本是
1.1.4-2
,本書全部的案例也是基於該版本
SDK
的。

圖1.1下載Kotlin SDK的頁面java
(
2
)單擊如圖
1.1
所示頁面的連接,便可下載獲得一個
kotlin-compiler-1.1.4-2.zip壓縮包文件。
(
3
)將上面壓縮文件解壓到任意目錄下,便可看到以下文件路徑。
bin:該路徑下存放了Kotlin SDK的各類工具命令,經常使用的kolinc、kotlin等命令就放在該路徑下。git
lib:該目錄下包含了Kotlin的各類工具JAR包。程序員
license:Kotlin項目相關的各類受權文檔。github
在上面路徑中,
bin
路徑是一個很是有用的路徑,這個路徑下包含了編譯和運行
Kotlin
程序的
kotlinc
和
kotlin
兩個命令。除此以外,還包含了
kotlinc-jvm
、
kotlinc-js
等工具命令。其中
kolinc
和
kotlinc-jvm
是同樣的,都用於將
Kotlin
程序編譯成適用於
JVM
的字節碼文件,而
kotlin-js
則用於將
Kotlin
程序編譯成
JavaScript
代碼。
(
4
)將解壓路徑下的
bin
目錄添加到系統的
PATH
環境變量中,這樣便可保證操做系統能經過
PATH
環境變量找到
kotlinc
、
kotlin等工具命令。
(
5
)將解壓路徑下
lib
子目錄中
kotlin-stdlib.jar文件(該文件與kotlin-runtime.jar
文件相同,都表明了
Kotlin
的運行時環境庫)添加到
CLASSPATH
環境變量中,這樣便可保證運行
Kotlin
程序時能正常加載
Kotlin
的運行時環境庫。
提示:本書假設讀者已有最基本的
Java
編程基礎,所以本書不會逐步介紹環境變量配置這些基礎內容,若是讀者須要學習環境變量配置這些基礎知識,建議參考《
瘋狂Java講義
》一書。
第一個Kotlin程序
編輯
Kotlin
源代碼可使用任何無格式的文本編輯器,在
Windows
上可以使用記事本(
NotePad
)、
EditPlus
等程序,在
Linux
平臺上可以使用
VI
工具等。
提示:編寫
Kotlin
程序不要使用寫字板,更不可以使用
Word
等文檔編輯器。由於寫字板、
Word
等工具是有格式的編輯器,當使用它們編輯一份文檔時,這個文檔中會包含一些隱藏的格式化字符,這些隱藏字符會致使程序沒法正常編譯、運行。
在記事本中新建一個文本文件,並在該文件中輸入以下代碼:編程
程序清單:
codes\01\1.2\helloWorld.kt
fun main(args: Array<String>) {數組
println("Hello, World!")jvm
}編程語言
編輯上面的Kotlin文件時,注意程序中粗體字標識的單詞,Kotlin程序嚴格區分大小寫。將上面文本文件保存爲helloWorld.kt,該文件就是Kotlin程序的源程序,Kotlin源程序的文件名要求以.kt結尾。編輯器
Kotlin程序與Java程序不一樣,Kotlin支持函數式編程,所以Kotlin程序的程序入口只要一個main()函數做爲入口,不須要將該main()函數放在任何類中。
提示:仔細看下上面的
main()函數,不難發現這個main
函數其實就是
Java
主類中的
main()方法的變體。只不過在Kotlin
語言中,函數也是一等公民,所以函數能夠獨立存在,而
Java
主類中
main()
方法必須放在類中聲明。
Java
主類的
main
()方法須要聲明一個String[] args
形參,而
Kotlin
的
mian()函數一樣聲明瞭args: Array<String>
形參
——它們都是一個字符串數組類型的形參,這代表它們的本質是同樣的,只是形式不一樣而已。至於
Kotlin
主函數前面的
fun
關鍵字,它專門用於聲明函數;
Swift
語言還使用
func
關鍵字聲明函數呢,其實沒有什麼特別的,習慣不一樣而已。
編寫好Kotlin程序的源代碼後,接下來就應該編譯該Kotlin源文件來生成字節碼了。
編譯、運行Kotlin程序
編譯
Kotlin
程序須要使用
kotlinc
或
kotlinc-jvm
命令(兩個命令徹底同樣),由於前面已經把
kotlinc
命令所在的路徑添加到了系統的
PATH
環境變量中,所以如今可使用
kotlinc
命令來編譯
Kotlin
程序了。
對於初學者而言,先掌握
kotlinc
命令的以下用法:
kotlinc -d destdir srcFile
在上面命令中,
-d destdir
是
kotlinc
命令的選項,用以指定編譯生成的字節碼文件的存放路徑,
destdir
只需是本地磁盤上的一個有效路徑便可;而
srcFile
是
Kotlinc
源文件所在的位置,這個位置既能夠是絕對路徑,也能夠是相對路徑。
一般,老是將生成的字節碼文件放在當前路徑下,當前路徑能夠用一點(
.
)來表示。在命令行窗口進入
helloWorld.
kt文件所在路徑,在該路徑下輸入以下命令:
kotlinc -d . helloWorld.kt
運行該命令後,在該路徑下生成一個
HelloWorldKt.class
文件。
與
javac
編譯器相似,使用
kotlinc編譯文件只須要指定存放目標文件的位置便可,無須指定字節碼文件的文件名。由於kotlinc
編譯後生成的字節碼文件有默認的文件名:若是
Kotlin
源程序中包含一個或多個函數,
kotlinc
會額外生成一個生成文件,該生成文件的文件名是文件名首字母大寫並添加
Kt
後綴,並以
.class
做爲後綴名;若是
Kotlin
源程序中包含一個或多個類,
kotlinc
則會爲每一個類生成一個字節碼文件,文件名以源文件所定義的各個類的類名做爲主文件名的,以
.class
做爲後綴名。
事實上,指定目標文件存放位置的
-d
選項也是可省略的,若是省略該選項,則意味着將生成的字節碼文件放在當前路徑下。
可能有讀者會感受:這不就是《瘋狂
Java
講義》所介紹的內容嗎?
kotlinc
的用法與
javac
的用法何其類似啊?實際上這也是
Kotlin
設計者但願實現的效果:
Java
是一門如此深刻人心、影響深遠的語言,擁有普遍的程序員基礎,而
Kotlin
不只藉助於
JVM
做爲運行平臺,並且保持和
Java
詳細的編譯、運行方式,這樣
Kotlin
也更容易被廣大程序員所接受。
運行
Kotlin
程序可以使用
kotlin
或
java
命令(你沒看錯,能夠用
java
命令),啓動命令行窗口,進入
HelloWorldKt.class
所在的位置,在命令行輸入以下命令。
java HelloWorldKt
運行上面命令,將看到以下輸出:
Hello World!
這代表
Kotlin
程序運行成功
固然了,
Kotlin
也專門提供了一個
kotlinm
命令來運行
Kotlin
程序,所以在命令行輸入以下命令。
kotlin HelloWorldKt
運行上面命令,一樣可看到以下輸出:
Hello World!
以上內容節選自《瘋狂Kotlin講義》:一本讓您最直接認識Kotlin的瘋狂講義