Kotlin 使用命令列編譯

Kotlin 命令列編譯工具下載地址:https://github.com/JetBrains/kotlin/releases/tag/v1.1.2-2,目前最新為 1.1.2-2。

你可以選擇一個最新的穩定版下載。

下載完成後,解壓到指定目錄,然後將 bin 目錄新增到系統環境變數。bin 目錄包含編譯和執行 Kotlin 所需的指令碼。


SDKMAN!

在 OS X、Linux、Cygwin、FreeBSD 和 Solaris 系統上也可以使用更簡單的安裝方法,命令如下:

$ curl -s https://get.sdkman.io | bash

$ sdk install kotlin

Homebrew

在 OS X 下,你可以使用 Homebrew 安裝:

$ brew update
$ brew install kotlin

MacPorts

如果你是 MacPorts 使用者,可以使用以下命令安裝:

$ sudo port install kotlin

建立和執行第一個程式

建立一個名為 hello.kt 檔案,程式碼如下:

hello.kt

fun main(args: Array<String>) { println("Hello, World!") }

使用 Kotlin 編譯器編譯應用:

$ kotlinc hello.kt -include-runtime -d hello.jar

  • -d: 用來設定編譯輸出的名稱,可以是 class 或 .jar 檔案,也可以是目錄。
  • -include-runtime : 讓 .jar 檔案包含 Kotlin 執行庫,從而可以直接執行。

如果你想看所有的可用選項,執行:

$ kotlinc -help

執行應用

$ java -jar hello.jar
Hello, World!

編譯成庫

若需要將生成的 jar 包供其他 Kotlin 程式使用,可無需包含 Kotlin 的執行庫:

$ kotlinc hello.kt -d hello.jar

由於這樣生成的 .jar 檔案不包含 Kotlin 執行庫,所以你應該確保當它被使用時,執行時在你的 classpath 上。

你也可以使用 kotlin 命令來執行 Kotlin 編譯器生成的 .jar 檔案

$ kotlin -classpath hello.jar HelloKt

HelloKt 為編譯器為 hello.kt 檔案生成的預設類名。


執行 REPL(互動式直譯器)

我們可以執行如下命令得到一個可互動的 shell,然後輸入任何有效的 Kotlin 程式碼,並立即看到結果


使用命令列執行指令碼

Kotlin 也可以作為一個指令碼語言使用,檔案字尾名為 .kts 。

例如我們建立一個名為 list_folders.kts,程式碼如下:

import java.io.File

val folders = File(args[0]).listFiles { file -> file.isDirectory() }
folders?.forEach { folder -> println(folder) }

執行時通過 -script 選項設定相應的指令碼檔案。

$ kotlinc -script list_folders.kts <path_to_folder>
$ kotlinc -script list_folders.kts