一、函式型別
函式型別也是資料型別的一種,它由形參型別和返回值型別組成,格式是
(形參型別列表) -> 返回值型別
1 func sum(num1: int, num2: int) ->intsum函式的函式型別是(int, int) -> int
1printline函式的函式型別有4種表示方法func printline()
2
(1)void -> void
(2)() -> ()
(3)void -> ()
(4)() -> void
二、利用函式型別定義變數
可以利用函式型別來定義變數,將來可以儲存這種型別的函式
1 func sum(num1: int, num2: int) ->int由於swift有型別推斷機制,因此,也可以這麼寫4 var fn: (int, int) -> int =sum
5 fn(10, 20) //
返回30
var fn = sum // fn以後所儲存函式的型別就必須是(int, int) -> int
三、函式作為引數
跟其他資料型別一樣,函式也能當函式的引數
1 func printresult(fn: (int, int) ->int, num1: int, num2: int)fn引數接收乙個函式,這個函式必須返回int、有2個int型別的引數2
1 func sum(num1: int, num2: int) ->int四、函式作為返回值4 func minus(num1: int, num2: int) ->int
7 printresult(sum, 20, 10) //
308 printresult(minus, 20, 10) //
10
跟其他資料型別一樣,函式也能當函式的返回值
1 func gotowork()五、函式過載2 func playfootball()
3 func howtodo(day: int) -> () ->() else9}
10 var fn = howtodo(7)11
fn()
12//
踢足球
函式過載:函式名相同,函式型別不同
下面的2個函式構成過載
(1)函式名:sum,函式型別:(int, int) -> int
1 func sum(num1: int, num2: int) ->int(2)函式名:sum,函式型別:(int, int, int) -> int
1 func sum(num1: int, num2: int, num3: int) ->int六、巢狀函式
全域性函式:在全域性作用域中定義的函式
巢狀函式:在某個函式體中定義的函式
**示例:
1 func howtodo(day: int) -> () ->()3 func playfootball()
4if day < 6
else 7}
8 var fn = howtodo(5
)9 fn() //
去上班10 gotowork()
iOS開發Swift篇 (八)函式 2
ios開發swift篇 八 函式 2 一 函式型別 函式型別也是資料型別的一種,它由形參型別和返回值型別組成,格式是 形參型別列表 返回值型別 1 func sum num1 int,num2 int intsum函式的函式型別是 int,int int 1 func printline 2 pri...
iOS開發Swift篇 (七)函式
一 函式的定義 1 函式的定義格式 1 func 函式名 形參列表 返回值型別 2 形參列表的格式 形參名1 形參型別1,形參名2 形參型別2,3 舉例 計算2個整數的和 1 func sum num1 int,num2 int int 4 沒有返回值的函式 如果函式沒有返回值,有3種寫法 1 fu...
iOS開發Swift篇 (七)函式 1
一 函式的定義 1 函式的定義格式 1 func 函式名 形參列表 返回值型別 2 形參列表的格式 形參名1 形參型別1,形參名2 形參型別2,3 舉例 計算2個整數的和 1 func sum num1 int,num2 int int 4 沒有返回值的函式 如果函式沒有返回值,有3種寫法 1 fu...