Swift 函数

函数是执行特定任务的代码块。

假设我们需要编写一个程序来创建一个圆并为其着色。在这种情况下,我们可以创建两个函数:

  1. 一个用于绘制圆的函数
  2. 一个用于为圆着色的函数

因此,函数有助于我们将程序分解为更小的块,使我们的代码可重用且易于理解。

在 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()

示例:Swift 函数

// declare a function
func greet() {
  print("Hello World!")
}

// call the function
greet()

print("Outside function")

输出

Hello World!
Outside function

在上面的示例中,我们创建了一个名为 greet() 的函数。程序的运行方式如下:

Swift Function
Swift 函数的工作原理

这里,

  1. 当调用函数时,程序的控制权将转到函数定义。
  2. 函数内的所有代码都将被执行。
  3. 程序的控制权将跳转到函数调用之后的下一条语句。

函数参数

如前所述,函数也可以具有参数。参数是函数接受的值。例如:

// 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 指定参数 num1num2 将分别获得值 **3** 和 **4**。

注意:要了解有关函数参数的更多信息,请访问 Swift 函数参数


示例:函数参数

// 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() 的函数,它带有参数:num1num2

Function Parameters
带参数的函数的工作原理

注意:函数参数的数据类型应始终与函数调用期间传递的数据匹配。这里,num1num2 的数据类型是 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

在上面的示例中,我们创建了一个名为 findSquare() 的函数。该函数接受一个数字并返回该数字的平方。

Function with return values
带返回值的 Swift 函数的工作原理

示例:两数相加

// 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() 定义在 Foundation 框架中。


示例: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

在上面的示例中,我们使用了

  • sqrt(25) - 计算 **25** 的平方根
  • pow(2, 3) - 计算数字的幂,即 **23**

这里,请注意语句:

import Foundation

由于 sqrt()pow() 定义在 Foundation 库中,因此我们需要将其包含在我们的程序中。


使用函数的好处

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. 代码可读性 - 函数有助于我们将代码分解为块,使我们的程序可读且易于理解。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战