原創文章,歡迎轉載。轉載請註明:關東昇的博客 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))")
傳遞參數
介紹幾種不一樣形式的參數。
使用外部參數名
爲每一個參數提供一個能夠在函數外部使用的名稱,稱爲外部參數名,修改rectangleArea函數的定義以下:
func rectangleArea(W width:Double, H height:Double) -> Double {
let area = width * height
return area
}
在局部參數名以前給一個「外部參數名」,用空格分隔。定義代碼中的W和H就是外部參數名。調用代碼以下:
print("320x480的長方形的面積:\(rectangleArea(W:320, H:480))")
若是咱們提供了外部參數名,那麼在函數調用時,必須使用外部參數名,因此W和H不能省略。
二、省略外部參數名
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_ 關東昇。
關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
更多精品iOS、Cocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.php