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 function
greet()
实例
// declare a function
func greet() {
print("Hello World!")
}
// call the function
greet()
print("Outside function")
结果为:
Hello World!
Outside function
在上面的实例中,我们创建了一个名为 greet()
的函数。以下是程序的工作原理:
在这里,
- 调用函数时,程序的控制转到函数定义。
- 执行函数中的所有代码。
- 程序的控制在函数调用后跳转到下一个语句。
函数参数
如前所述,函数也可以具有参数。参数是函数接受的值。例如,
// function with two parameters
func addNumbers(num1: Int, num2: Int) {
var sum = num1 + num2
print("Sum: ",sum)
}
// function with no parameter
func addNumbers() {
// code
}
如果创建带有参数的函数,则需要在调用它们时传递相应的值。例如,
// function call with two values
addNumbers(num1: 3, num2: 4)
// function call with no value
addNumbers()
这里,num1: 3, num2: 4
指定参数 num1
和 num2
将分别获得值 3 和 4。
实例
// function that adds two numbers
func addNumbers(num1: Int, num2: Int) {
var sum = num1 + num2
print("Sum: ", sum)
}
// calling function with two values
addNumbers(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 definition
func findSquare (num: Int) -> Int {
var result = num * num
return result
}
// function call
var square = findSquare(num: 3)
print("Square:",square)
结果为:
Square: 9
实例:两个数相加
// function that adds two numbers
func addNumbers(num1: Int, num2: Int) -> Int {
var sum = num1 + num2
return sum
}
// calling function with two values
var 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 root
var squareRoot = sqrt(25)
print("Square Root of 25 is",squareRoot)
// pow() comptes the power
var power = pow(2, 3)
print("2 to the power 3 is",power)
结果如下:
Square Root of 25 is 5.0
2 to the power 3 is 8
这里,注意这一句,
import Foundation
由于 sqrt()
和 pow()
是在基础库中定义的,因此我们需要将其包含在程序中。
使用函数的好处
1. 代码可重用 - 我们可以在程序中多次使用相同的函数,这使我们的代码可重用。例如,
// function definition
func getSquare(num: Int) -> Int{
return num * num
}
for i in 1...3{
// function call
var result = getSquare(num: i)
print("Square of \(i) =",result)
}
结果为:
Square of 1 = 1
Square of 2 = 4
Square of 3 = 9
在上面的程序中,我们创建了名为 getSquare()
的函数来计算数字的平方。这里,函数用于计算 1 到 3 之间的数字的平方。
因此,重复使用相同的方法。
2. 代码可读性 - 函数帮助我们将代码分解成块,使程序可读且易于理解。