Swift - 自定义函数规则说明
1,无返回值的函数
func test(name:String){
print(name)
}
2,返回一个返回值
func test(name:String) -> String{
return "Hello" + " " + name
}
print(test(name: "baibai")) //Hello baibai
3,返回由多个值组成的复合返回值
func test(name:String) -> (Int,Bool){
let postion = 1
let visible = false
return(postion,visible);
}
4,可变形参:可以接受0个或者任意数量的输入参数
func test(numbers:Int...) -> Int {
var count:Int = 0
for number in numbers{
count += number
}
return count
}
print(test(numbers:1,2,10))//13
5,如果想要同时改变函数内外的参数值,可以利用inout关键字,同时调用函数的时候给参数加上前缀“&”
func add(age:inout Int) -> Void {
age += 1
}
var age = 22
add(age: &age)
print(age)//23
6,可以使用函数类型的参数
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(addFun: additive, a: 5, b: 7)//Result:12
7,也可以使用函数类型的返回值
//定义个自增函数
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(backwards:true)
print(aFun(3))//2

浙公网安备 33010602011771号