Kotlin 函式 (Functions)
函式是程式邏輯的積木。
在 Kotlin 中,使用 fun 關鍵字來定義函式。
基本語法
fun sum(a: Int, b: Int): Int {
return a + b
}
- 參數必須定義型別 (
name: Type)。 - 回傳型別寫在括號後面 (
: ReturnType)。
單一表達式函式 (Single-expression functions)
如果你的函式只有一行 return,可以簡化成這樣:
fun sum(a: Int, b: Int) = a + b
甚至連回傳型別 Int 都可以省略(自動推斷)。
無回傳值 (Unit)
如果函式不回傳任何東西(類似 Java 的 void),其實它是回傳 Unit 物件。
Unit 可以省略不寫。
fun printHello(name: String): Unit {
println("Hello $name")
}
// 等同於
fun printHello(name: String) {
println("Hello $name")
}
}
可變參數 (varargs)
如果你不確定參數有幾個(例如 Arrays.asList()),可以使用 vararg。
fun printAll(vararg messages: String) {
for (m。in messages) println(m)
}
printAll("Hello", "World", "Kotlin")
中綴表示法 (Infix Notation)
讓程式碼讀起來像英文句子。條件:
- 必須是成員函式或擴充函式。
- 只有一個參數。
- 加上
infix關鍵字。
infix fun Int.plus(x: Int): Int {
return this + x
}
// 呼叫方式
val x = 1 plus 2 // 等同於 1.plus(2)
mapOf 使用的 to 其實就是一個 infix function (A to B)。