📜  Swift 函数

📅  最后修改于: 2020-10-09 16:02:31             🧑  作者: Mango

在本文中,您将通过示例学习有关函数的所有知识,什么是Swift中的函数,语法和类型。

 

什么是函数?

函数是一组定义要执行的动作的语句。 函数的主要用途是使代码可重用。

从技术上讲,您可以将函数视为机器。机器执行特定任务,要求输入,处理输入并返回输出。


功能类型

取决于函数是预定义的还是由程序员创建的; 函数有两种类型:

  1. 库函数 -在Swift Framework中已经定义的函数。
  2. 用户定义的函数-程序员自己创建的函数。

库功能

库函数是已在Swift框架中定义的内置函数。提供这些功能是为了解决Swift中的常见问题,因此您不必自己解决它们。它们是简单的操作,例如打印,查找最小值和最大值等。

您可以通过调用(调用)库函数直接使用它。如果需要,可以查看Swift框架内的所有功能。写吧导入Swift ,按Cmd并单击它。您将导航到新页面。搜索所有以func关键字开头的语句。

示例1:库或内置函数
print("Hello, World!")

当您运行上述程序时,输出将是:

Hello, World!

在上面的程序中,我们调用了Swift框架中定义的内置print 函数 。该函数用于在控制台中打印输出。

我们能够调用print() 函数,因为Swift框架会自动导入到我们的Playground中。否则,我们应该通过编写import Swift自己导入它。


用户定义的功能

Swift还允许您定义自己的函数。创建自己的函数有助于编写代码来解决问题或执行Swift Framework中不可用的任务。您还可以在将来重用您的函数来执行类似的任务。


同样,也可以根据参数和return语句对函数进行分类。请参阅文章Swift函数参数类型和返回类型。


定义功能

func function_name(args...) -> ReturnType {
    //statements
    return value
}

让我们简要描述每个组件:

  • func是创建函数必须编写的关键字
  • function_name是一个函数的名称。您可以给它任何定义函数的名称。
  • args…定义函数接受的输入。
  • ->该运算符用于指示函数的返回类型。
  • ReturnType定义可以从函数返回的值的类型。例如IntString等。
  • return关键字用于将程序的控制权转移到函数调用中,并从函数返回值。
    即使您未指定return关键字,该函数也会在执行last语句后自动返回。
  • value表示从函数返回的实际数据。值类型必须与ReturnType相匹配。

函数如何运作?

 

How function works in Swift?

在上图中,语句function_name(args)调用/调用带有参数值args的函数 ,然后该函数离开代码的当前部分(即,停止执行其下面的语句)并开始执行函数的第一行。

  1. 该程序位于func function_name(Args...)的代码行中,并接受在函数调用function_name(args)期间传递的值args
  2. 然后,程序将执行在函数内部定义的statementsInsideFunction statementsInsideFunction
  3. 函数内部的语句按从上到下的顺序执行,一个接一个。
  4. 执行完最后一条语句后,程序将离开函数,并从即function_name(args)返回到它的起始位置。
  5. let val =存储在常数VAL从函数返回的值。同样,您可以将变量存储为var val =
  6. 之后,将执行语句statementsOutsideFunction

示例2:如何在Swift中定义函数 ?

func greet(user:String) {
    print("Good Morning! \(user)")
}

上面显示的是一个函数定义,其中包含以下组件:

  1. 关键字func标记函数头的开始。
  2. greet是用于在程序中唯一标识和调用函数的函数名称。
  3. (user:String)标记函数标头的结尾,并接受String类型的参数。请参阅文章Swift函数的参数类型和返回类型,它们定义了带有参数的函数 。
  4. 该函数由体内的print语句组成,该语句在调用该函数后执行。

调用函数

创建函数,可以在程序中调用它以执行函数内部声明的语句。要调用一个函数,您只需编写函数名称,后跟()并将其内部的输入参数传递为:

greet(user: "Isac")

示例3:在Swift中调用函数

func greet(user:String) {
    print("Good Morning! \(user)")
}

greet(user: "Isac")

当您运行上述程序时,输出将是:

Good Morning! Isac

在上面的代码中, greet(user: "Isac")调用该函数并传递String类型的值Isac 。之后,执行函数内部的print语句。


退货声明

return关键字告诉程序退出函数并返回到进行函数调用的行。

您还可以使用return关键字传递值,其中value是变量或从函数返回的其他信息。

示例3:带有return关键字的函数

func greet(user:String)-> String {
    return "Good Morning! \(user)"
}

let greeting = greet(user: "Isac")
print("""
     You have a new message
     \(greeting)
     """)

当您运行上述程序时,输出将是:

You have a new message
Good Morning! Isac

在上面的代码中, greet(user: "Isac")调用该函数并传递String类型的值Isacreturn "Good Morning! \(user)"语句返回String类型的值,并将程序转移到函数调用中。

let greeting =存储从函数返回的值。 函数返回后,将执行函数调用下方的print语句。


要记住的事情

  • 给出反映该函数用途的函数名称。
  • 一个函数只能完成一项任务。如果一个函数执行多项任务,请将其分解为多个功能。
  • 尽早考虑并在使函数可重用和模块化的函数内部对语句进行分组。