swfit學習函數

1. 函數使用func聲明 name 和age是參數 ->後面是返回類型

func test1 (let name:String,let age:Int)->String{

return "姓名:"+ name+“\n”+“年齡:”+String(age);

}

打印返回的字符串 age:爲標籤  用以說明後面參數的含義

print(test1("哆啦A夢",age:12))


2.返回參數和類型可以是多個


func test2() ->(String.String,String){

return ("哆啦夢","100歲","狸貓")

}


print(test2())

//可以根據下標 打印返回值 類似數組

print(test2().0)


3.函數可以進行嵌套

func test3 (){

var y : Int = 0

funx add(){

y += 5 

}

add ();

print(y)

}

test3()


4.返回值可以是一個函數

func lmyzTest4() -> ((Int,Int)->Int) {

    func add (let i : Int , let j : Int)->Int{

        return i + j;

    }

    return add

}


var lmyzAdd = lmyzTest4()


print(lmyzTest4())      打印出來是   (Function)

print(lmyzAdd(2,4))   打印出來是6


5.函數作爲參數


var arr = [10, 20, 30]



func minNum(let num : Int) -> Int{

    return num

}


// 將minNum作爲參數傳輸  可以理解爲爲minNum函數起了一個別名叫myfunc  其實他的調用和minNum一致

func getMinNum(list :[Int], myfunc : (Int)-> Int) -> Int{

    

    var y : Int = 0

    

    for s in list {

        

        let i = myfunc(s)

        

        if (y == 0 || y > i) {

            y = i

        }

    }

    

    return y

}


var min = getMinNum(arr, myfunc: minNum)


print("獲取最小值爲:" + String(min))


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章