Swift函數(shù)的常見使用方法

最近開始學(xué)習(xí)Swift語言,不得不說Apple的這門語言真的博大精深而又清爽簡潔,對于剛剛接觸編程不久的我而言,習(xí)慣了C語言和OC語言的.h.m模式一下切換到這種.Swift的模式下著實是個挑戰(zhàn),如果您接觸過ruby或者python這種腳本語言,肯定會很快上手并且運用到項目中去,最近看到Swift的函數(shù)部分,記錄下來不同的方式用法,漫漫的學(xué)習(xí)之旅~

Swift中的函數(shù)

  • 我們可以使用func來聲明函數(shù),使用函數(shù)名稱和參數(shù)來調(diào)用函數(shù),使用 -> 來表示函數(shù)的返回值類型,一個簡單的函數(shù)實現(xiàn)如下:
func getSumOfNumbers(appleNumber:Int,orangeNumber:Int,pearNumber:Int) ->Int{
    return appleNumber + orangeNumber + pearNumber
}
//getSumOfNumbers(appleNumber: Int orangeNumber:Int, pearNumber: Int)
print(getSumOfNumbers(3, orangeNumber: 6, pearNumber: 9))

得到輸出結(jié)果18

  • 函數(shù)可以帶有可變個數(shù)的參數(shù),這些參數(shù)在數(shù)組內(nèi)表現(xiàn)為數(shù)組的形式
func sumOf(numbers: Int...) -> Int {
    var sum = 0
    for number in numbers {
        sum += number
    }
    return sum
}
sumOf()
print(sumOf(3,6,9))

得到輸出結(jié)果18

  • 函數(shù)可以嵌套使用,可以使用函數(shù)的嵌套來實現(xiàn)復(fù)雜或者龐大的函數(shù)結(jié)構(gòu),被嵌套的函數(shù)可以訪問外部的變量
func sumOf() ->Int{
    var firstNumber = 3
    var secondNumber = 6
    var thirdNumber = 9
    var sum = 0
    func add(){
    sum = firstNumber + secondNumber + thirdNumber
    }
    add()
    return sum
}
print(sumOf())

得到輸出結(jié)果18

  • 函數(shù)當(dāng)做另一個函數(shù)的返回值,返回值類型為函數(shù)
func sumOf() -> (Int -> Int) {
    var firstNumber = 3
    var secondNumber = 6
    func addOne(number: Int) -> Int {
        return firstNumber + secondNumber + number
    }
    return addOne
}
var increment = sumOf()
var sum = increment(9)
print(sum)

得到輸出結(jié)果18

  • 函數(shù)當(dāng)做參數(shù)來傳入一個函數(shù)里
func hasAnyMatches(list: [Int], condition: Int -> Bool) -> Bool {
    for item in list {
        if condition(item) {
            return true
                   }
    }
    return false
}
func lessThanTen(number: Int) -> Bool {
    return number < 10
}
var numbers = [20, 19, 13, 12]
 print(hasAnyMatches(numbers, condition: lessThanTen))

由于 condition這個函數(shù)傳的參數(shù)為lessThanTen這個函數(shù),numbers為傳進去的數(shù)組遍歷數(shù)組list中的元素沒有發(fā)現(xiàn)滿足number<10的item,所以輸出結(jié)果為false。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容