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))