Kotlin入門-Day7:函數

閱讀時間約 5 分鐘

函數的基本結構

在 Kotlin 中,函數是一等公民,可以像變數一樣使用。Kotlin 支持多種方式來定義和使用函數,包括函數聲明、函數表達式和匿名函數。

函數聲明

函數聲明的基本語法如下:

fun functionName(parameter1: Type1, parameter2: Type2): ReturnType {
// 函數體
return result
}

範例:

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

函數表達式

Kotlin 支持使用表達式來定義函數,這樣可以簡化函數的定義。

fun add(a: Int, b: Int): Int = a + b

匿名函數

匿名函數可以用來定義沒有名稱的函數,通常用於高階函數中。

val sum = fun(a: Int, b: Int): Int {
return a + b
}

// 簡化版本
val sum = { a: Int, b: Int -> a + b }

函數的呼叫

函數呼叫的方式非常簡單,直接使用函數名稱並傳遞參數即可。

val result = add(3, 4)  // result 為 7

函數的參數

單個參數

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

greet("John") // 輸出: Hello, John!

多個參數

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

val result = add(1, 2, 3) // result 為 6

預設參數值

可以為函數參數設置預設值,這樣在呼叫函數時可以省略對應的參數。

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

greet("John") // 輸出: Hello, John!
greet("John", "Hi") // 輸出: Hi, John!

剩餘參數

使用 vararg 關鍵字可以定義可變長度參數。

fun sum(vararg numbers: Int): Int {
var total = 0
for (number in numbers) {
total += number
}
return total
}

val result = sum(1, 2, 3, 4, 5) // result 為 15

函數的返回值

單個返回值

fun square(x: Int): Int {
return x * x
}

val result = square(5) // result 為 25

多個返回值

可以使用 PairTriple 來返回多個值。

fun getFullName(): Pair<String, String> {
return Pair("John", "Doe")
}

val (firstName, lastName) = getFullName()
println("First Name: $firstName, Last Name: $lastName") // 輸出: First Name: John, Last Name: Doe

返回物件

可以返回一個自訂的物件。

class Person(val name: String, val age: Int)

fun createPerson(name: String, age: Int): Person {
return Person(name, age)
}

val person = createPerson("Alice", 30)
println("Name: ${person.name}, Age: ${person.age}") // 輸出: Name: Alice, Age: 30

返回函數

函數可以返回另一個函數,這是高階函數的一個例子。

fun operation(): (Int, Int) -> Int {
return ::add
}

val addFunction = operation()
val result = addFunction(3, 4) // result 為 7

這些是 Kotlin 中函數的基本用法和概念。通過熟練掌握這些知識,你可以更靈活地定義和使用函數來解決各種問題。如果有任何問題,隨時可以詢問。

avatar-img
15會員
111內容數
日後將分享關於我的經驗(日常、工作、技術),並期待未來能創造屬於我的宇宙。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Michael楊 的其他內容
本章節帶領讀者了解 Kotlin 的流程控制語法,包括條件判斷、當做三元運算子使用的 if 表達式、用來替代 switch 語句的 when 語句、用於迴圈運作的 for 和 while 語句,以及控制迴圈執行流程的語句和標籤概念。該章節目的在於讓讀者深入掌握流程控制功能,進一步提升編程技巧。
此文件的目的是教授 Kotlin 程式語言的運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子以及運算子的優先等級。這將有助於讀者更好地理解和撰寫 Kotlin 程式碼。
本章節的目的是介紹 Kotlin 的各種資料型別。包括內建型別如基本數值型別、字串型別和布林型別等,以及如何進行型別轉換。此外,也介紹了如何定義自訂型別(類)和元組型別,以及 Kotlin 提供的集合型別,例如列表(List)、集合(Set)和映射(Map)以及陣列(Array)。
本章節提供了設置Kotlin開發環境的多種選擇,包括使用IntelliJ IDEA、Android Studio、命令行工具、Visual Studio Code,以及在線編輯器。每種方法都有詳細的步驟說明,旨在幫助讀者根據自己的需求選擇最適合的設置方式,並順利開始Kotlin開發。
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
這個章節的目的是為了介紹Kotlin這種程式語言,包含它的特性、應用領域、使用者,以及相關的學習資源和工具。透過這篇文章,讀者可以了解到Kotlin的基礎知識,並開始學習和使用它。
本章節帶領讀者了解 Kotlin 的流程控制語法,包括條件判斷、當做三元運算子使用的 if 表達式、用來替代 switch 語句的 when 語句、用於迴圈運作的 for 和 while 語句,以及控制迴圈執行流程的語句和標籤概念。該章節目的在於讓讀者深入掌握流程控制功能,進一步提升編程技巧。
此文件的目的是教授 Kotlin 程式語言的運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子以及運算子的優先等級。這將有助於讀者更好地理解和撰寫 Kotlin 程式碼。
本章節的目的是介紹 Kotlin 的各種資料型別。包括內建型別如基本數值型別、字串型別和布林型別等,以及如何進行型別轉換。此外,也介紹了如何定義自訂型別(類)和元組型別,以及 Kotlin 提供的集合型別,例如列表(List)、集合(Set)和映射(Map)以及陣列(Array)。
本章節提供了設置Kotlin開發環境的多種選擇,包括使用IntelliJ IDEA、Android Studio、命令行工具、Visual Studio Code,以及在線編輯器。每種方法都有詳細的步驟說明,旨在幫助讀者根據自己的需求選擇最適合的設置方式,並順利開始Kotlin開發。
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
這個章節的目的是為了介紹Kotlin這種程式語言,包含它的特性、應用領域、使用者,以及相關的學習資源和工具。透過這篇文章,讀者可以了解到Kotlin的基礎知識,並開始學習和使用它。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
主要來講宣告函式跟箭頭函式 : 宣告函式(Function Declaration) 語法: function functionName(parameters) { return result; } 特點: 使用 function 關鍵字 函式名稱是必需的 存在函式
Thumbnail
1.0 從函數到函算語法 1.2 函數概念小史 1.2.1 中譯的來源 數學中函數概念的重要性難以盡書,亦很難想像沒有函數概念的數學可以走多遠。誇張一點,我們可以說很大部份的數學都是按函數概念操作的。但少有人留意到,在某個意義上,函數可說是數學語言的一個語構處理。 漢語「函數」一詞乃
※ 函式進階介紹: 箭頭函式: 箭頭函式相比於一般函式,語法相當簡潔。除了少去 function 關鍵字,如果只有一個參數,箭頭函式可以省略括號;只有一行程式碼,就是直接簡單返回一個變數或簡單的表達式,可以省略大括號和 return。例子如下: //一般函式計算平方用的寫法 const squ
※ 函式基礎介紹: ※ JavaScript 特殊的函式特性: 函式可以當成值來傳遞 (可以放進變數或放進物件) 函式可以當成函式的參數 callback - 在特定事件中觸發函式 (非同步特性) ※ 函式的基本寫法: ※ 調用 (invoke) 函式: "調用" 意指呼叫或執行
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
本課程學習如何實作處理加、減、乘和除按鈕等計算機相關邏輯。
Thumbnail
我們將深入介紹如何使用 Kotlin 在 Android 平台上開發一個簡單的計算機應用程式。這個課程的目標是教授大家如何通過點擊計算機鍵盤,輸入算式,並得到計算結果。透過這套課程,你將能夠熟練掌握 Kotlin 語言在 Android 開發中的實際應用,並輕鬆打造出屬於自己的計算機應用程式。
Thumbnail
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
主要來講宣告函式跟箭頭函式 : 宣告函式(Function Declaration) 語法: function functionName(parameters) { return result; } 特點: 使用 function 關鍵字 函式名稱是必需的 存在函式
Thumbnail
1.0 從函數到函算語法 1.2 函數概念小史 1.2.1 中譯的來源 數學中函數概念的重要性難以盡書,亦很難想像沒有函數概念的數學可以走多遠。誇張一點,我們可以說很大部份的數學都是按函數概念操作的。但少有人留意到,在某個意義上,函數可說是數學語言的一個語構處理。 漢語「函數」一詞乃
※ 函式進階介紹: 箭頭函式: 箭頭函式相比於一般函式,語法相當簡潔。除了少去 function 關鍵字,如果只有一個參數,箭頭函式可以省略括號;只有一行程式碼,就是直接簡單返回一個變數或簡單的表達式,可以省略大括號和 return。例子如下: //一般函式計算平方用的寫法 const squ
※ 函式基礎介紹: ※ JavaScript 特殊的函式特性: 函式可以當成值來傳遞 (可以放進變數或放進物件) 函式可以當成函式的參數 callback - 在特定事件中觸發函式 (非同步特性) ※ 函式的基本寫法: ※ 調用 (invoke) 函式: "調用" 意指呼叫或執行
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
本課程學習如何實作處理加、減、乘和除按鈕等計算機相關邏輯。
Thumbnail
我們將深入介紹如何使用 Kotlin 在 Android 平台上開發一個簡單的計算機應用程式。這個課程的目標是教授大家如何通過點擊計算機鍵盤,輸入算式,並得到計算結果。透過這套課程,你將能夠熟練掌握 Kotlin 語言在 Android 開發中的實際應用,並輕鬆打造出屬於自己的計算機應用程式。
Thumbnail
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。