Swift 函数
在本教程中,我们将通过示例学习 Swift 函数和函数表达式。
函数是执行特定任务的代码块。
假设我们需要创建一个程序来创建一个圆并给它着色。在这种情况下,我们可以创建两个函数:
- 画圆的函数
- 为圆着色的函数
因此,函数帮助我们将程序分解为更小的块,以使代码可重用且易于理解。
在 Swift 中,有两种类型的函数:
- 用户定义函数 - 我们可以根据需求创建自己的函数。
- 标准库函数 - 这些是 Swift 中可供使用的内置函数。
让我们首先了解用户定义函数。
Swift 函数声明
声明函数的语法为:
func functionName(parameters)-> returnType {// function body}
这里,
- func - 用于声明函数的关键字
- functionName - 函数的任何名称
- parameters - 传递给函数的任何值
- returnType - 指定函数返回的值的类型
让我们看一个实例,
func greet() {print("Hello World!")}
这里,我们创建了一个名为 greet() 的函数。它只打印文本 Hello World!。
此函数没有任何参数和返回类型。我们将在本教程后面了解 返回类型和参数。
在 Swift 中调用函数
在上面的示例中,我们声明了一个名为 greet() 的函数。
func greet() {print("Hello World!")}
现在,要使用这个函数,我们需要调用它。
下面是我们如何在 Swift 中调用 greet() 函数。
// call the functiongreet()
实例
// declare a functionfunc greet() {print("Hello World!")}// call the functiongreet()print("Outside function")
结果为:
Hello World!Outside function
在上面的实例中,我们创建了一个名为 greet() 的函数。以下是程序的工作原理:

在这里,
- 调用函数时,程序的控制转到函数定义。
- 执行函数中的所有代码。
- 程序的控制在函数调用后跳转到下一个语句。
函数参数
如前所述,函数也可以具有参数。参数是函数接受的值。例如,
// function with two parametersfunc addNumbers(num1: Int, num2: Int) {var sum = num1 + num2print("Sum: ",sum)}// function with no parameterfunc addNumbers() {// code}
如果创建带有参数的函数,则需要在调用它们时传递相应的值。例如,
// function call with two valuesaddNumbers(num1: 3, num2: 4)// function call with no valueaddNumbers()
这里,num1: 3, num2: 4 指定参数 num1 和 num2 将分别获得值 3 和 4。
实例
// function that adds two numbersfunc addNumbers(num1: Int, num2: Int) {var sum = num1 + num2print("Sum: ", sum)}// calling function with two valuesaddNumbers(num1: 3, num2: 4)
结果为:
Sum: 7
在上面的程序中,我们创建了一个名为 addNumbers() 的函数,参数为 num1 和 num2。

注意:函数参数的数据类型应始终与函数调用期间传递的数据匹配。这里,num1 和 num2 的数据类型是 Int,因此我们在函数调用期间传递了整数值 3 和 4。
Swift 函数返回类型
Swift 函数可能返回值,也可能不返回值。如果我们希望函数返回一些值,我们可以使用 return 语句。例如,
func addNumbers() -> Int {...return sum}
这里,我们返回变量 sum。函数定义中的 ->Int 指定函数的返回类型为整数。
如果函数返回任何值,则应在函数定义(->returnType)中指定该值的返回类型。否则,它将产生错误。
实例:函数返回值
// function definitionfunc findSquare (num: Int) -> Int {var result = num * numreturn result}// function callvar square = findSquare(num: 3)print("Square:",square)
结果为:
Square: 9

实例:两个数相加
// function that adds two numbersfunc addNumbers(num1: Int, num2: Int) -> Int {var sum = num1 + num2return sum}// calling function with two valuesvar result = addNumbers(num1: 3, num2: 4)print("Sum: ", result)
结果如下:
Sum = 7
Swift 库函数
在 Swift 中,标准库函数是可以直接在我们的程序中使用的内置函数。例如,print() - 打印引号内的字符串sqrt() - 返回数字的平方根pow() - 返回数字的幂
这些库函数在框架中定义。为了使用它们,我们必须在程序中包含框架。
例如,sqrt() 和 pow() 是在基础框架中定义的。
实例:Swift 库函数
import Foundation// sqrt computes the square rootvar squareRoot = sqrt(25)print("Square Root of 25 is",squareRoot)// pow() comptes the powervar power = pow(2, 3)print("2 to the power 3 is",power)
结果如下:
Square Root of 25 is 5.02 to the power 3 is 8
这里,注意这一句,
import Foundation
由于 sqrt() 和 pow() 是在基础库中定义的,因此我们需要将其包含在程序中。
使用函数的好处
1. 代码可重用 - 我们可以在程序中多次使用相同的函数,这使我们的代码可重用。例如,
// function definitionfunc getSquare(num: Int) -> Int{return num * num}for i in 1...3{// function callvar result = getSquare(num: i)print("Square of \(i) =",result)}
结果为:
Square of 1 = 1Square of 2 = 4Square of 3 = 9
在上面的程序中,我们创建了名为 getSquare() 的函数来计算数字的平方。这里,函数用于计算 1 到 3 之间的数字的平方。
因此,重复使用相同的方法。
2. 代码可读性 - 函数帮助我们将代码分解成块,使程序可读且易于理解。