天天看點

iOS開發Swift篇—(八)函數(2)

一、函數類型

函數類型也是資料類型的一種,它由形參類型和傳回值類型組成,格式是

(形參類型清單) -> 傳回值類型

sum函數的函數類型是(int, int) -> int

printline函數的函數類型有4種表示方法

(1)void -> void

(2)() -> ()

(3)void -> ()

(4)() -> void

二、利用函數類型定義變量

可以利用函數類型來定義變量,将來可以存儲這種類型的函數

由于swift有類型推斷機制,是以,也可以這麼寫

  var fn = sum // fn以後所存儲函數的類型就必須是(int, int) -> int

三、函數作為參數

跟其他資料類型一樣,函數也能當函數的參數

fn參數接收一個函數,這個函數必須傳回int、有2個int類型的參數

iOS開發Swift篇—(八)函數(2)
iOS開發Swift篇—(八)函數(2)

四、函數作為傳回值

跟其他資料類型一樣,函數也能當函數的傳回值

iOS開發Swift篇—(八)函數(2)
iOS開發Swift篇—(八)函數(2)

五、函數重載

函數重載:函數名相同,函數類型不同

下面的2個函數構成重載

(1)函數名:sum,函數類型:(int, int) -> int

(2)函數名:sum,函數類型:(int, int, int) -> int

六、嵌套函數

全局函數:在全局作用域中定義的函數

嵌套函數:在某個函數體中定義的函數

代碼示例:

iOS開發Swift篇—(八)函數(2)
iOS開發Swift篇—(八)函數(2)

注意:第10行是錯誤寫法,嵌套函數的作用域僅限于定義嵌套函數的函數體内部