
- Swift 教程
- Swift - 首頁
- Swift - 概述
- Swift - 環境
- Swift - 基本語法
- Swift - 變數
- Swift - 常量
- Swift - 字面量
- Swift - 註釋
- Swift 運算子
- Swift - 運算子
- Swift - 算術運算子
- Swift - 比較運算子
- Swift - 邏輯運算子
- Swift - 賦值運算子
- Swift - 位運算子
- Swift - 其他運算子
- Swift 高階運算子
- Swift - 運算子過載
- Swift - 算術溢位運算子
- Swift - 恆等運算子
- Swift - 範圍運算子
- Swift 資料型別
- Swift - 資料型別
- Swift - 整數
- Swift - 浮點數
- Swift - Double
- Swift - 布林值
- Swift - 字串
- Swift - 字元
- Swift - 類型別名
- Swift - 可選型別
- Swift - 元組
- Swift - 斷言和前提條件
- Swift 控制流
- Swift - 決策
- Swift - if 語句
- Swift - if...else if...else 語句
- Swift - if-else 語句
- Swift - 巢狀 if 語句
- Swift - switch 語句
- Swift - 迴圈
- Swift - for in 迴圈
- Swift - while 迴圈
- Swift - repeat...while 迴圈
- Swift - continue 語句
- Swift - break 語句
- Swift - fall through 語句
- Swift 集合
- Swift - 陣列
- Swift - 集合
- Swift - 字典
- Swift 函式
- Swift - 函式
- Swift - 巢狀函式
- Swift - 函式過載
- Swift - 遞迴
- Swift - 高階函式
- Swift 閉包
- Swift - 閉包
- Swift - 轉義和非轉義閉包
- Swift - 自動閉包
- Swift 面向物件程式設計
- Swift - 列舉
- Swift - 結構體
- Swift - 類
- Swift - 屬性
- Swift - 方法
- Swift - 下標
- Swift - 繼承
- Swift - 重寫
- Swift - 初始化
- Swift - 析構
- Swift 高階
- Swift - ARC 概述
- Swift - 可選鏈
- Swift - 錯誤處理
- Swift - 併發
- Swift - 型別轉換
- Swift - 巢狀型別
- Swift - 擴充套件
- Swift - 協議
- Swift - 泛型
- Swift - 訪問控制
- Swift - 函式與方法
- Swift - SwiftyJSON
- Swift - 單例類
- Swift 隨機數
- Swift 不透明型別和裝箱型別
- Swift 有用資源
- Swift - 線上編譯
- Swift - 快速指南
- Swift - 有用資源
- Swift - 討論
Swift - 函式過載
函式是一段用於執行特定任務的程式碼片段。在 Swift 中,我們允許過載函式。函式過載是一種技術,我們可以建立多個同名函式,但具有不同的引數或引數標籤。
因此,當呼叫過載函式時,編譯器會根據呼叫時提供的引數數量和引數型別來確定應該執行哪個函式。在 Swift 中,我們不能根據返回型別來過載函式。
我們可以透過以下方式過載函式:
使用不同數量的引數進行過載。
使用不同的引數型別進行過載。
使用引數標籤進行過載。
使用不同數量的引數進行過載
在使用不同數量的引數進行函式過載時,兩個或多個函式的名稱相同,但引數的數量不同。函式可以具有相同或不同的引數名稱。在這種型別的函式過載中,函式的呼叫根據使用者在函式呼叫期間提供的引數數量進行。
示例
Swift 程式演示使用不同數量的引數進行函式過載。
import Foundation // Function 1 func product(num1: Int, num2: Int){ // Calculating product let result = num1 * num2 print("Function 1: Product = ", result) } // Function 2 func product(num1: Int, num2: Int, num3: Int){ // Calculating product let result = num1 * num2 * num3 print("Function 2: Product = ", result) } // Function 3 func product(num1: Int, num2: Int, num3: Int, num4: Int){ // Calculating product let result = num1 * num2 * num3 * num4 print("Function 3: Product = ", result) } // Calling function 1 product(num1: 23, num2: 34) // Calling function 2 product(num1: 53, num2: 34, num3: 34) // Calling function 3 product(num1: 23, num2: 34, num3: 55, num4: 21)
輸出
它將產生以下輸出:
Function 1: Product = 782 Function 2: Product = 61268 Function 3: Product = 903210
使用不同的引數型別進行過載
可以使用不同的引數型別過載函式,這意味著多個函式具有相同的名稱和引數數量,但引數型別不同。在這種型別的函式過載中,函式的呼叫根據使用者在函式呼叫期間提供的引數型別進行。
示例
Swift 程式使用巢狀函式新增兩個字串。
import Foundation // Function 1 func Addition(num1: Int, num2: Int){ // Adding two values let result = num1 + num2 print("Function 1: Result = ", result) } // Function 2 func Addition(num1: String, num2: String){ // Adding two values let result = num1 + num2 print("Function 2: Result = ", result) } // Calling function 1 Addition(num1: 23, num2: 34) // Calling function 2 Addition(num1: "Hello!", num2: "Tutorialspoint")
輸出
它將產生以下輸出:
Function 1: Result = 57 Function 2: Result = Hello!Tutorialspoint
使用引數標籤進行過載
我們可以根據函式的引數標籤進行過載。在這種型別的過載中,函式名稱相同,但引數標籤不同。這樣,在執行時,編譯器可以輕鬆識別應該呼叫哪個函式。
示例
Swift 程式根據函式的引數標籤進行過載。
import Foundation // Function 1 func Area(length: Int, width: Int){ let result = length * width print("Function 1: Result=", result) } // Function 2 func Area(l: Int, w: Int){ let result = l * w print("Function 2: Result=", result) } // Calling function 1 Area(length: 23, width: 3) // Calling function 2 Area(l:13, w: 3)
輸出
它將產生以下輸出:
Function 1: Result= 69 Function 2: Result= 39
Swift 中函式過載的優點
以下是函式過載的優點:
它提高了程式碼的可讀性。
透過為所有函式提供相同的名稱來減少多個函式名稱。
它增強了型別安全性並減少了執行時錯誤。
廣告