Swift学习——函数的使用和分类(四)
总结了一下Swift中的函数使用一共可以分为七类
1 ---- 没有返回值,没有参数的函数
2 ---- 有参数和返回值的函数
3 ---- 使用元祖来返回多个值
4 ---- 参数是可变的
5 ---- 函数的嵌套
6 ---- 函数可以作为另一个函数的返回值
7 ---- 函数可以作为参数
具体分析如下面代码所示
// 1 ---- 没有返回值,没有参数的函数
func function1()
{
println("----in function1----")
}
//调用函数
function1()
// 2 ---- 有参数和返回值的函数
func function2(name:String,age:Int)->String{
println("----in function2----")
return "name \(name),age \(age)"
}
//调用函数
println(function2("jhon",22))
// 3 ---- 使用元祖来返回多个值
func function3()->(Int,Int,Int){
println("----function3----")
return (1,2,3)
}
//调用函数
println(function3())
// 4 ---- 参数是可变的
func functionsum4(numbers:Int...)->Int{
println("----in functionsum4----")
var sum = 0
for number in numbers{
sum += number
}
return sum
}
//调用函数
println("sum is \(functionsum4(1))")
println("sum is \(functionsum4(1,2))")
println("sum is \(functionsum4(1,2,3))")
// 5 ---- 函数的嵌套
/*
说明:被嵌套的函数可以访问外侧函数变量
*/
func function5()->Int{
println("-----in function5-----")
var m = 5
func sum(){
m += 1
}
sum()
return m
}
//调用函数
println("function5 is \(function5())")
// 6 ---- 函数可以作为另一个函数的返回值
func function6()->(Int->Int){
println("----int function6 ----")
func sum(numbers:Int)->Int{
return numbers+1
}
return sum
}
//获取外侧函数的值
var values = function6()
//values(1)对内侧函数进行传参数
println("sum is \(values(1))")
// 7 ---- 函数可以作为参数
func function7(number:Int[],contion:Int->Bool)->Bool{
for numbers in number{
if contion(numbers)
{
println("----true")
return true
}
}
return false
}
func choosefunc(number:Int)->Bool{
return number<10
}
var number = [1,2,3,4]
function7(number,choosefunc)
println("result is \(function7(number,choosefunc))")
打印结果
----in function1----
----in function2----
name jhon,age 22
----function3----
(1, 2, 3)
----in functionsum4----
sum is 1
----in functionsum4----
sum is 3
----in functionsum4----
sum is 6
-----in function5-----
function5 is 6
----int function6 ----
sum is 2
----true
----true
result is true