首页 > 代码库 > Swift学习——函数的使用和分类(四)

Swift学习——函数的使用和分类(四)

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