學一門編程語言的開始往往是一個最簡單的 Hello World 程序,我們的 Kotlin 學習也不例外:
fun main(args: Array<String>) {
println("Hello World")}
我們來分析一下有意義的兩行代碼:
fun main(args: Array<String>){}
這行代碼用 fun 關鍵字定義了一個名爲 main 的函數,這個函數有一個 Array<String>(字符串數組) 類型的參數 args 。這句代碼與 Java 中聲明 main 函數的意義是一樣的:
public class HelloWorld{
public static void main(String[] args){}}
我們再分析一下,Kotlin 與 Java 聲明 main 函數的方式不同之處:
Kotlin 使用 fun 關鍵字顯式地聲明函數,Java 則通過方法名後的括號表明這是個方法;
Kotlin 允許創建 包級函數,函數不一定在類裏面,Java 則要求所有方法必須包括在類裏;
Kotlin 中所有變量、函數和類默認都是 public 的,Java 則需要用 public 關鍵字聲明處處可用;
Kotlin 拋棄了靜態變量和靜態方法,沒有 static 關鍵字,Java 則用 static 關鍵字聲明靜態成員;
Kotlin 中聲明一個函數沒有返回值使用 Unit 關鍵字,但是一般省略,Java 則用 void 關鍵字聲明無返回值;
Kotlin 聲明函數參數列表採用“變量名: 變量類型”的方式,Java 則採用 “變量類型 變量名”的形式;
Kotlin 拋棄了類 C 語言聲明數組的方式,使用 “Array<T>” 的方式聲明數組,Java 則採用類 C 語言的“T[]”方式聲明數組;
Kotlin 語句結尾一般不使用分號 ; 結尾,Java 則必須用分號結尾。
第二行:
println("Hello World")
對比 Java:
System.out.println("Hello World");
好像 Kotlin 只是把 Java 的 “System.out”給省略了?我們看一下 Console.kt 文件中對 println() 函數的聲明:
@kotlin.internal.InlineOnlypublic inline fun println(message: Any?) {
System.out.println(message)}
好吧,Kotlin 的 println() 函數就是對 Java 中 System.out.println() 方法的包裝……
讓我們運行程序,你的控制檯是不是輸出了 Hello World 呢?
作者:CNife
鏈接:https://zhuanlan.zhihu.com/p/26443813