Swift函數(shù)

函數(shù)是一段代碼片段

函數(shù)定義和調用

語法

func 函數(shù)名(參數(shù)表) -> 返回值類型{
  函數(shù)體
}
  • 函數(shù)參數(shù)是let類型
  • 函數(shù)默認返回空元組()
  • 參數(shù)和返回值都可以為空
  • 返回多個值時插佛,使用元組

參數(shù)標簽和參數(shù)名

默認情況下參數(shù)標簽同參數(shù)名

func abc(a:Int,b:Int,c:Int){    
}

以上參數(shù)標簽為a,b,c,函數(shù)調用為abc(a:1,b:2,c:3)
指定參數(shù)標簽

func abc(x a:Int,y b:Int,z c:Int){    
}

函數(shù)調用為abc(x:1,y:2,z:3)
標簽名可以重復量窘,不推薦

忽略標簽名

使用_作為參數(shù)標簽

func abc(_ a:Int,_ b:Int,_ c:Int){
}

函數(shù)調用為abc(1,2,3)

默認參數(shù)值

func abc(a:Int,b:Int,c:Int = 10){
}

使用默認值參數(shù)雇寇,實際上函數(shù)會被重載為兩個函數(shù),函數(shù)調用為
abc(a:1,b:2),abc(a:1,b:2,c:3)
默認值參數(shù)的位置沒有要求

可變長參數(shù)

在參數(shù)類型后加...

func abc(a:Int,b:Int...,c:Int = 10){  
}

實際上b是個[Int]型蚌铜,當成數(shù)組用就行锨侯。可變長參數(shù)和默認值參數(shù)的順序是任意的冬殃,而且可變長參數(shù)有一個隱含的默認值[]

實例

func abc(a:Int = 1,b:Int...,c:Int = 1) {
    print(b)
}

abc(a: 1, b:1,2,3, c: 2)
abc()
abc(a:1)
abc(b:1,2,3)
abc(c:2)

可變長參數(shù)最多一個

輸入輸出參數(shù)

func abc(a:inout Int,b:Int...,c:Int = 10){
}

輸入輸出參數(shù)必須是變量囚痴,字面值和常量是不行的,函數(shù)調用前用&

函數(shù)類型

函數(shù)的類型由 參數(shù)類型和返回值類型決定

func abc(a:Int,b:Int) -> Void {
}

函數(shù)類型為(Int,Int) -> Void
可以將函數(shù)賦值給常量或者變量审葬,使用函數(shù)
另外函數(shù)也可以作為另一個函數(shù)的參數(shù)和返回值

函數(shù)可以賦值給一個變量

func abc(a:Int,b:Int,c:Int) {

}

abc(a: 1, b: 2, c: 3)

var funAbc = abc

funAbc(1,2,3)

賦值給變量后的函數(shù)調用深滚,不需要加函數(shù)標簽名

嵌套函數(shù)

全局作用域的叫全局函數(shù),定義在函數(shù)中的函數(shù)叫做 嵌套函數(shù)
嵌套函數(shù)默認不可見涣觉,但是可以作為返回值痴荐,返回到全局作用域中,嵌套函數(shù)可以捕獲上下文中的變量和常量

Swift的函數(shù)重載

函數(shù)名相同官册,參數(shù)表不同的函數(shù)生兆。返回值不作為重載的標準。
參數(shù)表:參數(shù)個數(shù)膝宁,參數(shù)類型鸦难,參數(shù)順序根吁,參數(shù)標簽名

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市合蔽,隨后出現(xiàn)的幾起案子击敌,更是在濱河造成了極大的恐慌,老刑警劉巖辈末,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愚争,死亡現(xiàn)場離奇詭異映皆,居然都是意外死亡挤聘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門捅彻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來组去,“玉大人,你說我怎么就攤上這事步淹〈勇。” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵缭裆,是天一觀的道長键闺。 經(jīng)常有香客問我,道長澈驼,這世上最難降的妖魔是什么辛燥? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮缝其,結果婚禮上挎塌,老公的妹妹穿的比我還像新娘。我一直安慰自己内边,他們只是感情好榴都,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著漠其,像睡著了一般嘴高。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上和屎,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天阳惹,我揣著相機與錄音,去河邊找鬼眶俩。 笑死莹汤,一個胖子當著我的面吹牛,可吹牛的內容都是我干的颠印。 我是一名探鬼主播纲岭,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼抹竹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了止潮?” 一聲冷哼從身側響起窃判,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喇闸,沒想到半個月后袄琳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡燃乍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年唆樊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刻蟹。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡逗旁,死狀恐怖,靈堂內的尸體忽然破棺而出舆瘪,到底是詐尸還是另有隱情片效,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布英古,位于F島的核電站淀衣,受9級特大地震影響,放射性物質發(fā)生泄漏召调。R本人自食惡果不足惜膨桥,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望某残。 院中可真熱鬧国撵,春花似錦、人聲如沸玻墅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽澳厢。三九已至环础,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間剩拢,已是汗流浹背线得。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留徐伐,地道東北人贯钩。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親角雷。 傳聞我的和親對象是個殘疾皇子祸穷,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容

  • 函數(shù)是用來完成特定任務的獨立的代碼塊。給一個函數(shù)起一個合適的名字勺三,用來標識函數(shù)做什么雷滚,并且當函數(shù)需要執(zhí)行的時候,這...
    窮人家的孩紙閱讀 810評論 2 1
  • 函數(shù)是用來完成特定任務的獨立的代碼塊吗坚∑碓叮可以給函數(shù)起一個名字,用于標識一個函數(shù)商源,當函數(shù)需要執(zhí)行的時候车份,這個名字就會用...
    EndEvent閱讀 743評論 1 3
  • 定義和調用函數(shù) 在下面的例子中的函數(shù)叫做greet(person :),因為這是它的作用 - 它需要一個人的名字作...
    Joker_King閱讀 276評論 0 1
  • Swift 統(tǒng)一的函數(shù)語法非常的靈活炊汹,可以用來表示任何函數(shù)躬充,包括從最簡單的沒有參數(shù)名字的 C 風格函數(shù)逃顶,到復雜的帶...
    詮釋殘缺閱讀 279評論 0 0
  • 第一次使用簡書讨便,記錄下平時寫的demo, 因為最近時間比較閑以政,所以找了些網(wǎng)上的效果下載下來學習下霸褒,首先說明這是從別...
    哆啦_閱讀 1,181評論 0 0