在寫程式時,常常會遇到重複的邏輯,例如你可能需要在多個地方印出相同的訊息,或計算同一種數值。如果每次都重新寫一遍,不但浪費時間,還容易出錯。
這時候函式就能派上用場。
它可以把一段程式碼包起來,取一個名字,想用的時候直接呼叫,讓程式碼更簡潔、可讀性更高,也方便維護。
func 函式名稱(參數: 參數型別) -> 回傳型別 {
// 這裡是要執行的程式碼
return 回傳值
}
這是func的基本寫法
func sayHello() {
print("Hello!")
}
sayHello() // 呼叫函式,會印出 Hello!
這是一個最簡單的例子,呼叫 sayHello()
後,就會執行函式內的程式碼。
func greet(name: String) {
print("Hello, \(name)!")
}
greet(name: "Apple") // 印出 Hello, Apple!
name: String
代表這個函式需要一個 String
型別的參數,呼叫時必須提供它。
func add(a: Int, b: Int) -> Int {
return a + b
}
let result = add(a: 3, b: 5) // result 會是 8
-> Int
表示這個函式會回傳 Int
型別的數值return
是回傳資料的關鍵字func describeFruit(name: String, count: Int) {
print("你有 \(count) 顆 \(name)")
}
describeFruit(name: "香蕉", count: 3)
// 你有 3 顆 香蕉
這個範例展示了函式可以同時接收多個不同型別的參數。
func greet2(name: String = "World") {
print("Hello, \(name)!")
}
greet2() // Hello, World!
greet2(name: "Swift") // Hello, Swift!
如果呼叫時沒有傳入參數,就會使用預設值;有傳入的話就會使用傳入的值。
我們學會了函式的各種寫法,有了這個基礎,明天我們會進一步學習閉包,看看它和函式有什麼不同。