标签:
原文出自: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 }
5,在Swift函数中,参数默认是常量。如果要改变参数的值,就需要在定义函数的时候加上关键字var。(外部的参数任然不会被修改)
var age = 22 add(age) //无法编译 func add(age:Int) { age += 1 } //可以编译 func add(var age:Int) { age += 1 }
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
注:笔记仅作学习记录只用!
标签:
原文地址:http://www.cnblogs.com/hero11223/p/5664278.html