原創文章,歡迎轉載。轉載請注明:關東升的博客
函數的語法格式如下:
func 函數名(參數列表) -> 返回值類型 {
語句組
return 返回值
}
關鍵字是func。
多個參數列表之間可以用逗號(,)分隔,也可以沒有參數。
使用箭頭“->”指示返回值類型。返回值有單個值和多個值。如果函數沒有返回值,則“->返回值類型”部分可以省略。
如果函數有返回值,就需要在函數體最后使用return語句;如果沒有返回值,則函數體中可以省略return語句。
函數定義示例代碼如下:
funcrectangleArea(width:Double, height:Double) -> Double { let area = width * height return area } print("320x480的長方形的面積:\(rectangleArea(320, height:480))")
傳遞參數
介紹幾種不同形式的參數。
使用外部參數名
為每個參數提供一個可以在函數外部使用的名稱,稱為外部參數名,修改rectangleArea函數的定義如下:
func rectangleArea(Wwidth: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提供省略外部參數名可能,在定義函數時,使用下劃線(_)表示外部參數名,示例代碼如下:
funcrectangleArea(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中函數的參數個數可以變A化,它可以接受不確定數量的輸入類型參數,它們具有相同的類型。我們可以通過在參數類型名后面加入(...)的方式來指示這是可變參數。
下面看一個示例:
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。