Swift學習——函數的使用和分類(四)

來源:互聯網
上載者:User

標籤:swift   string   類   numbers   function   

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



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.