《從零開始學Swift》學習筆記(Day 19)——函數參數傳遞

原創文章,歡迎轉載。轉載請註明:關東昇的博客 php

 

函數的語法格式以下: 微信

func 函數名(參數列表) -> 返回值類型 {函數

    語句組網站

    return 返回值spa

}.net

關鍵字是func設計

多個參數列表之間能夠用逗號(,)分隔,也能夠沒有參數。orm

使用箭頭「->」指示返回值類型。返回值有單個值和多個值。若是函數沒有返回值,則「-> 返回值類型」部分能夠省略。教程

若是函數有返回值,就須要在函數體最後使用return語句;若是沒有返回值,則函數體中能夠省略return語句。ci

函數定義示例代碼以下:

func rectangleArea(width:Double, height:Double) -> Double {

    let area = width * height

    return area   

} 

print("320x480的長方形的面積:\(rectangleArea(320, height: 480))") 

傳遞參數 

介紹幾種不一樣形式的參數。 

  1. 使用外部參數名

爲每一個參數提供一個能夠在函數外部使用的名稱,稱爲外部參數名,修改rectangleArea函數的定義以下:

func rectangleArea(W width:Double, H height:Double) -> Double {

    let area = width * height

    return area

}

在局部參數名以前給一個「外部參數名」,用空格分隔。定義代碼中的WH就是外部參數名。調用代碼以下:

print("320x480的長方形的面積:\(rectangleArea(W:320, H:480))")

若是咱們提供了外部參數名,那麼在函數調用時,必須使用外部參數名,因此WH不能省略。 

二、省略外部參數名

Swift 2.0提供省略外部參數名可能,在定義函數時,使用下劃線(_)表示外部參數名,示例代碼以下:

func rectangleArea(width:Double, _ height:Double) -> Double {

    let area = width * height

    return area

}

這樣函數在調用時就能夠省略外部參數名,代碼以下:

print("320x480的長方形的面積:\(rectangleArea(320, 480))")

在定義函數時第一個參數不須要使用下劃線(_),默認第一個參數名是省略的,其餘參數名要想省略則須要使用下劃線(_)符號。 

三、參數默認值

在定義函數的時候能夠爲參數設置一個默認值,當調用函數的時候能夠忽略該參數。看下面的一個示例:

func makecoffee(type : String = "卡布奇諾") -> String {

    return "製做一杯\(type)咖啡。"

}

在調用的時候,若是調用者沒有傳遞參數,則使用默認值。調用代碼以下:

let coffee1 = makecoffee("拿鐵")

let coffee2 = makecoffee()  

最後輸出結果以下:

製做一杯拿鐵咖啡。

製做一杯卡布奇諾咖啡。 

四、可變參數

Swift中函數的參數個數能夠變化,它能夠接受不肯定數量的輸入類型參數,它們具備相同的類型。咱們能夠經過在參數類型名後面加入(...)的方式來指示這是可變參數。

下面看一個示例:

func sum(numbers: Double...) -> Double {

    var total: Double = 0

    for number in numbers {

        total += number

    }

    return total

}

下面是兩次調用sum函數代碼:

sum(100.0, 20, 30)

sum(30, 80)

能夠看到每次傳遞參數的個數是不一樣的。

  

歡迎關注關東昇新浪微博@tony_ 關東昇。
關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
 

更多精品iOSCocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.php

相關文章
相關標籤/搜索