標籤: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