Kotlin - 基本語法



Kotlin 程式入口點

Kotlin 應用程式的入口點是 **main()** 函式。函式可以定義為一段旨在執行特定任務的程式碼塊。

讓我們從一個基本的 Kotlin 程式開始,在標準輸出上列印“Hello, World!”

fun main() {
   var string: String  = "Hello, World!"
   println("$string")
}

執行上述 Kotlin 程式時,它將生成以下輸出

Hello, World!

帶引數的入口點

另一種形式的 **main()** 函式接受可變數量的 String 引數,如下所示

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

執行上述 Kotlin 程式時,它將生成以下輸出

Hello, World!

如果您觀察到,很明顯這兩個程式生成相同的輸出,因此從 Kotlin 1.3 版本開始,在 **main()** 函式中傳遞引數是完全可選的。

print() 與 println()

**print()** 是 Kotlin 中的一個函式,它將其引數列印到標準輸出,類似地,**println()** 是另一個函式,它將其引數列印到標準輸出,但它還在輸出中添加了一個換行符。

讓我們嘗試以下程式來理解這兩個重要函式之間的區別

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

    print("Hello,")
    print(" world!")
}

執行上述 Kotlin 程式時,它將生成以下輸出

Hello, 
 world!
Hello, world!

這兩個函式 (print() 和 println()) 都可以用來列印數字和字串,同時還可以執行任何數學計算,如下所示

fun main(args: Array<String>){
    println( 200 )
    println( "200" )
    println( 2 + 2 )

    print(4*3)
}

執行上述 Kotlin 程式時,它將生成以下輸出

200
200
4
12

Kotlin 中的分號 (;)

與許多其他程式語言(如 Java、C++、C# 等)需要分號 (;) 來結束語句不同,Kotlin 程式碼語句不需要分號來結束語句。

儘管您可以成功地編譯和執行帶有或不帶分號的 Kotlin 程式,如下所示

fun main() {
    println("I'm without semi-colon")
    
    println("I'm with semi-colon");
}

執行上述 Kotlin 程式時,它將生成以下輸出

I'm without semi-colon
I'm with semi-colon

因此,作為良好的程式設計實踐,不建議在 Kotlin 語句末尾新增分號。

Kotlin 中的包

Kotlin 程式碼通常定義在包中,儘管包規範是可選的。如果您沒有在原始檔中指定包,則其內容將進入預設包。

如果我們在 Kotlin 程式中指定一個包,則它將在檔案頂部指定,如下所示

package org.tutorialspoint.com

fun main() {
    println("Hello, World!")
}

執行上述 Kotlin 程式時,它將生成以下輸出

Hello, World!

測驗時間 (面試及考試準備)

Q 1 - Kotlin **main()** 函式必須有一個引數才能成功編譯程式碼

A - 正確

B - 錯誤

答案:B

解釋

Kotlin **main()** 函式不必總是有引數。如果您需要透過字串陣列傳遞多個引數,則可以使用類似 **main(args: Array<String>)** 的引數,否則不需要。

Q 2 - 以下 Kotlin 程式的輸出是什麼

fun main() {
    println("1"); println("2")
}

A - 這將導致語法錯誤

B - 它將列印 12

C - 第一行列印 1,第二行列印 2

D - 以上都不是

答案:C

解釋

雖然 Kotlin 不建議在語句末尾使用分號,但如果您想在一行中分隔兩個語句,則可以使用分號,否則將出現編譯時錯誤。

答案:A

解釋

這裡只有 A 語句是正確的,因為我們不能在沒有 **main()** 函式的情況下執行 Kotlin 程式,它是 Kotlin 程式的入口點。在 Kotlin 程式中是否使用 **print()** 或 **println()** 函式並不重要。

廣告