Swift中的每个函数都有一个类型,包含函数的参数类型和返回类型。它可以很容易的将函数作为参数进行传递,甚至从函数中返回参数类型。
《1》函数的申明与调用:
func 函数名( 参数1:类型 ,参数2:类型...)->返回类型{}
说明:
1: func 是函数关键字
2:{} 函数体
3: 函数名,当要使用一个函数的时候,通过函数名进行调用
4:返回类型不是必须的,如果无类型返回,相当于void,则返回类型可以不写
5:参数可以有多个,也可以不传参数
例如下面被调用的函数,返回类型为Int,它需要输入两个入参,返回两个入参之和
func addone(one:Int,two:Int)->Int{
return one+two}
print(addone(1,two: 2))
《2》多返回值函数
你可以使用一个元组类型,作为函数的返回类型,返回一个有多个值组成的一个复合值,作为返回值
fanc count(string:String)->(one:Int,two:Int,Third:Int){
}
《3》外部参数名
如果你希望用户调用你的函数时候,提供参数的名称,则可以设置,外部参数名,这种设置,能让函数
更加显得浅显易懂。
像下面的例子,调用的时候,需要提供每个参数的参数名
func addto(start s1:Int,second s2:Int,third s3:Int)->Int{
return s1+s2+s3}
var y=addto(start: 1, second: 2, third: 3)
print(y)
《3》参数默认值
设计函数的时候,可以给参数设置默认值,如果已经设置了默认值,在调用函数的时候,可以不提供相应的入参
例如下面,参数s3已设置了默认值,所以可以不设置相应入参
func addtos(start s1:Int,second s2:Int,third s3:Int=3)->Int{
return s1+s2+s3
}
var y1=addtos(start: 1, second: 2)
print(y1)
《4》可变参数
一个可以参数,可以接受一个或者多个同一类型的参数,这样在调用的时候,则不会受到参数数量的限制
func sumof(numbers:Int...)->Int{
var sum=0
for number in numbers{
sum+=number
}
return sum
}
sumof()
var t=sumof(1,2,3)
print(t)
《5》 输入-输出参数
如果想用一个函数来改变本身的值,则需要使用到输入-输出参数inout。
如下参数的作用,是把两个参数的值互换,函数没有返回值,值的改变,一直到函数输出,仍然起作用。
func swapTwoInt( inout a: Int, inout b: Int ) {
let temp=a
a=b
b=temp
}
var someint=3
var another=6
swapTwoInt(&someint,b: &another)
print(someint)
《6》 嵌套函数
顾名思义,嵌套函数的意思,就是在函数内再嵌套一个函数,嵌套函数默认对外界是隐藏的,但是可以调用和使用其嵌套函数,
嵌套函数也可以提供返回值,提供给函数内,另一范围内使用
例如下面,addOne为嵌套函数,作用为给相应入参值+1,所以在初始化makeIncrement后,输入参数后,则调用到addOne,并返回加1值
func makeIncrement() -> (Int->Int) {
func addOne(number:Int)->Int{
return 1+number
}
return addOne
}
var increment=makeIncrement()
print(increment(7))