Kotlin教學 | 從零開始學Kotlin | Kotlin入門 | CH06: 函數(Function)

函數

以下是 Kotlin 函數的基本概念。


1. 函數的基本語法

在 Kotlin 中,函數使用 fun 關鍵字定義。

fun 函數名稱(參數名稱: 資料型別): 返回型別 {
    // 函數內容
    return 返回值
}

2. 無參數函數

當函數不需要參數時,可以省略參數部分。

範例

fun sayHello() {
    println("Hello, Kotlin!")
}

fun main() {
    sayHello() // 輸出:Hello, Kotlin!
}

3. 帶參數的函數

函數可以接受參數,並根據傳入的值進行處理。

範例

fun greet(name: String) {
    println("Hello, $name!")
}

fun main() {
    greet("Alice") // 輸出:Hello, Alice!
}

4. 帶返回值的函數

函數可以返回計算結果,需使用 return 關鍵字。

範例

fun add(a: Int, b: Int): Int {
    return a + b
}

fun main() {
    val result = add(3, 5)
    println("結果是 $result") // 輸出:結果是 8
}

5. 單行函數

如果函數只有一行,可以簡化為單行函數,使用 =

範例

fun multiply(a: Int, b: Int): Int = a * b

fun main() {
    println(multiply(4, 5)) // 輸出:20
}

6. 預設參數

函數參數可以設置預設值,當呼叫函數時未提供對應值,會使用預設值。

範例

fun greet(name: String = "Guest") {
    println("Hello, $name!")
}

fun main() {
    greet() // 輸出:Hello, Guest!
    greet("Alice") // 輸出:Hello, Alice!
}

7. 命名參數

在呼叫函數時,可以指定參數名稱來傳遞值,適合參數較多的函數。

範例

fun printInfo(name: String, age: Int) {
    println("Name: $name, Age: $age")
}

fun main() {
    printInfo(age = 25, name = "Alice") // 輸出:Name: Alice, Age: 25
}

8. 函數無返回值

如果函數沒有返回值,返回型別是 Unit,可以省略。

範例

fun printMessage(message: String): Unit {
    println(message)
}

// 等同於
fun printMessage(message: String) {
    println(message)
}

9. 可變參數(vararg

使用 vararg 關鍵字讓函數接受不定數量的參數,這些參數會被當作數組處理。

範例

fun printAll(vararg messages: String) {
    for (message in messages) {
        println(message)
    }
}

fun main() {
    printAll("Hello", "World", "Kotlin")
    // 輸出:
    // Hello
    // World
    // Kotlin
}

10. 展開運算符(Spread Operator)

展開運算符(*)用於將數組展開為單個元素傳入 vararg 函數。

範例

fun printNumbers(vararg numbers: Int) {
    for (number in numbers) {
        println(number)
    }
}

fun main() {
    val nums = intArrayOf(1, 2, 3, 4, 5)
    printNumbers(*nums)
    // 輸出:
    // 1
    // 2
    // 3
    // 4
    // 5
}

11. 擴展函數

Kotlin 支援擴展函數,用來為現有類型新增函數。

範例

fun String.addExclamation(): String {
    return this + "!"
}

fun main() {
    val message = "Hello"
    println(message.addExclamation()) // 輸出:Hello!
}

Reference

https://kotlinlang.org/docs/functions.html

發佈留言