在所有的程式語言教學裡,通常第一個範例就是在 Terminal 印出「Hello, world」字樣。這個經典範例有 3 個訓練重點:了解如何建立程式、如何執行寫好的程式以及如何把文字印在畫面上。這篇文章就要帶著大家用 Kotlin 來重現這個精典範例。
第一步先建立練習專案,請先用 JetBrains ToolBox App 啟動 IntelliJ IDEA,選擇啟動畫面上的「New Project」。
在專案樣板左邊的專案類型選擇「Kotlin」、設定專案名稱為「kotlin-collection」(這個名稱可取自己喜歡的)、Project Template 選擇「Console Application」、Build System 選擇 「IntelliJ」、Project SDK 選擇「JDK 14」後按下一步。
下一步的 Module 可以都先保持預設值即可,我們暫時沒有需要用到這些功能。
按下「Finish」後,IntelliJ IDEA 就會幫你建立一個全新的 Kotlin 專案,並在工作區裡把專案開起來。
IntelliJ IDEA 的工作區很簡單,畫面左邊的區域是 Project 面板,是可以像檔案總管管理所有檔案的地方;右邊的區域是編輯區,我們會在這個區域寫程式碼。請先開啟 src/main/koltin
資料夾,對著資料夾按右鍵選「New > Kotlin File/Class」,輸入「App」做為檔案名稱,檔案類型選「File」後按 Enter。IntelliJ IDEA 就會在該路徑下建立一個名為 app.kt
的檔案,並在右邊的編輯區域開啟。
Kotlin 檔案是純文字文件,副檔名是 .kt
。請在 app.kt
的第一行,輸入 main
等關鍵字後按 Tab,IntelliJ IDEA 就會自動幫你將程式碼區域產生出來。接著在兩個 { }
之間輸入 sout
後按 Tab,程式變成 println()
後,在兩個 ( )
之間輸入 "Hello, world"
。
先解釋一下以上這些程式碼的意義。於 Kotlin 來說,main
function 就是應用程式的進入點,程式執行時,會從 function 的第一行開始由上往下跑。println()
是輸出文字並換行的指令,中間用 " "
夾住的文字就會被輸出到畫面上。
// 程式進入點
fun main() {
// 輸出文字
println("Hello, world")
}
在練習時,我們輸入的 main
或 sout
都是 IntelliJ IDEA 的 Live Template 功能,也就是所謂的 Code Snippet。只要輸入關鍵字再按下 Tab,就會自動展開成一段程式碼,在寫程式時是個提升生產力的小技巧。
在寫 Kotlin 的時候,IntelliJ IDEA 會自動在有 main
function 的旁邊放一個綠色的播放鍵,只要按下播放鍵並選 Run,IntelliJ IDEA 就會自動編譯程式,並把程式跑起來。IntelliJ IDEA 會自動在畫面下方彈起一個 Run 面板,並把程式執行的結果顯示在裡面。
眼尖的你或許有發現,在 app.kt
旁有在專案建立時自動產生的 main.kt
檔案,裡面的程式碼跟我們寫的很類似,但 main
function 有多一個 args
參數:
fun main(args: Array<String>) {
println("Hello World!")
}
這個 args
參數可以讓我們在執行啟動時,從 Terminal 取得由指令附加的參數,但從 Kotlin 1.3 起,若是程式不需要則可以省略。
在這個系列裡,筆者會在這個專案裡寫不同章節的範例程式,而不會為每一個章節獨立開一個專案。我們可以透過建立 Package 的方式,把程式放在不同的資料夾裡面,方便我們整理及管理。建立 Package 的方式很簡單,先在 src/main/kotlin
按右鍵選 Package,輸入名稱即可。IntelliJ IDEA 會在裡面建立一個新的資料夾,我們就可以在這個資料夾裡再建立新的 Kotlin 檔案。
以上就是寫一個 Hello World 應用程式的簡單步驟。當然,Kotlin 程式可以做的事情遠超過這些,在這邊就出一個作業來給大家練習:請在程式執行時,先尋問對方的名字,等使用者輸入後,再輸出 Hello, 對方的名字
在畫面上。
提示一下,Kotlin 要取得得使用者互動的指令是 readLine()
。假如寫不出來的話,可以偷看一下本篇文章的參考資料。