发布于 2015-06-14 01:44:19 | 282 次阅读 | 评论: 0 | 来源: 网络整理
当你定义一个函数时,你可以定义一个或多个有名字和类型的值,作为函数的输入(称为参数,parameters),也可以定义某种类型的值作为函数执行结束的输出(称为返回类型)。
每个函数有个函数名,用来描述函数执行的任务。要使用一个函数时,你用函数名“调用”,并传给它匹配的输入值(称作实参,arguments)。一个函数的实参必须与函数参数表里参数的顺序一致。
在下面例子中的函数叫做"greetingForPerson"
,之所以叫这个名字是因为这个函数用一个人的名字当做输入,并返回给这个人的问候语。为了完成这个任务,你定义一个输入参数-一个叫做 personName
的 String
值,和一个包含给这个人问候语的 String
类型的返回值:
func sayHello(personName: String) -> String {
let greeting = "Hello, " + personName + "!"
return greeting
}
所有的这些信息汇总起来成为函数的定义,并以 func
作为前缀。指定函数返回类型时,用返回箭头 ->
(一个连字符后跟一个右尖括号)后跟返回类型的名称的方式来表示。
该定义描述了函数做什么,它期望接收什么和执行结束时它返回的结果是什么。这样的定义使的函数可以在别的地方以一种清晰的方式被调用:
println(sayHello("Anna"))
// prints "Hello, Anna!"
println(sayHello("Brian"))
// prints "Hello, Brian!"
调用 sayHello
函数时,在圆括号中传给它一个 String
类型的实参。因为这个函数返回一个 String
类型的值,sayHello
可以被包含在 println
的调用中,用来输出这个函数的返回值,正如上面所示。
在 sayHello
的函数体中,先定义了一个新的名为 greeting
的 String
常量,同时赋值了给 personName
的一个简单问候消息。然后用 return
关键字把这个问候返回出去。一旦 return greeting
被调用,该函数结束它的执行并返回greeting
的当前值。
你可以用不同的输入值多次调用 sayHello
。上面的例子展示的是用"Anna"
和"Brian"
调用的结果,该函数分别返回了不同的结果。
为了简化这个函数的定义,可以将问候消息的创建和返回写成一句:
func sayHelloAgain(personName: String) -> String {
return "Hello again, " + personName + "!"
}
println(sayHelloAgain("Anna"))
// prints "Hello again, Anna!"