天天看点

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行是错误写法,嵌套函数的作用域仅限于定义嵌套函数的函数体内部