swift学习笔记之—自定义函数的规则说明

原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_517.html

1,无返回值的函数

func test(name:String){
 
}

2,返回一个返回值

func test(name:String) -> Bool{
    return true
}

3,返回由多个值组成的复合返回值

func test(name:String) -> (Int,Bool){
    var position = 1
    var visible = false
    return (position,visible)
}

4,可变形参:可以接受0个或者任意数量的输入参数

func test(numbers:Int...) -> Int{
    var count:Int = 0
    for number in numbers{
        count += number
    }
    return count
}

6,如果想要同时改变函数内外的参数值,可以利用inout关键字,同时调用函数的时候给参数加上前缀“&”

var age = 22
add(&age)
print(age) //23
 
func add(inout age:Int){
    age += 1
}

7,可以使用函数类型的参数

func additive(a:Int, b:Int) -> Int{
    return a + b
}
 
//函数类型的参数
func printAdditiveResult(addFun: (Int, Int) -> Int, a:Int, b:Int){
    print("Result:(addFun(a,b))")
}
 
printAdditiveResult(additive, a: 5 ,b: 7)

8,也可以使用函数类型的返回值

//定义个自增函数
func increase(input:Int) -> Int{
    return input + 1
}
 
//定义个自减函数
func reduce(input:Int) -> Int{
    return input - 1
}
 
//定义一个返回函数类型的函数
func chooseFunction(backwards:Bool) -> (Int) -> Int{
    return backwards ? reduce : increase
}
 
//测试
let aFun = chooseFunction(3>2)
print(aFun(3))  //2

注:笔记仅作学习记录只用!

原文地址:https://www.cnblogs.com/hero11223/p/5664278.html