在编程中,随着处理问题的越来越复杂,代码量飞速增加。其中,大量的代码往往相互重复或者近似重复。如果不采取有效方式加以解决,代码将很难维护。为了解决这个问题,人们提出了函数这一概念。使用函数可以将特定功能的代码封装,然后在很多地方使用。这样既可以减少代码的编写量以及时间,又可以使其结构鲜明,便于理解。本节将讲解有关函数的内容。

  一个完整的函数有func关键字,函数名,参数表以及函数的返回值类型组成。它的语法形式如图所示。

fun  函数名(参数表)->返回值类型(这部分为函数头)

     语句;         (这部分为函数体)

 

  无参函数的使用

  无参数函数是指没有参数列表的函数。要想使用无参函数,首先要对函数进行声明和定义。它的生命和定义是在一起进行的。声明定义的一般形式如下。

  func  函数名()->返回值类型{

     语句

  其中,语句既可以是一条语句,也可以是由多条语句组合的语句块;函数名同样是一个标识符,用来表示函数要实现的功能;->返回值类型表示函数可能返回的值的类型(对于函数的返回值,会在后面的小节中讲解)。返回值类型可以省略。如果省略,表示函数无返回值(为了便于开发者的理解,以下所讲的内容都以函数无返回值进行讲解)。函数中的语句可以有也可以没有,如果函数定义中没有语句,就是空语句,包含空语句的函数是最简单的函数。函数定义好以后,就可以使用该函数了,这里称之为函数的调用。函数调用的形式如下:

  函数名()

eg:

  以下将定义一个函数名为printSwift()的函数,此函数用来输出字符串"Swift"。代码如下。

//声明定义函数

func  printSwift(){

  print("Swift")

}

printSwift()   //调用函数

 

此时运行程序,会看到如下的结果

Swift

注意:函数一般都是先声明定义,后调用的。

 

  有参函数的使用

  所谓有参函数,也就是函数头的参数表不为空。要想使用有参函数首先要对函数进行声明和定义。它的生命和定义也是在一起进行的。声明定义的一般形式如下。

  func  函数名(参数名1:数据类型,参数名2:数据类型,……)->返回值类型{

  语句

  其中,无参函数和有参函数的区别在于参数列表。参数列表由参数名和数据类型组成,其中使用“:”冒号讲它们分割开。参数列表中的参数可以有多个。定义时使用参数是为了接收调用时传递的数据。有参函数调用的语法形式如下:

  函数名(参数值1,参数值2,……)

eg:

  以下将实现问候某一个人的功能。代码如下:

//有参函数的声明定义

func  hello(Name:String){

print("Hello,\(Name)")

}

 

let personName1="Tom"

hello(personName1)//调用

let personName2="David"

hello(personName2)

 

此时运行程序,会看到如下结果。

Hello,Tom

Hello,David

注意:在有参函数中,参数既可以是一个,也可以是多个。