文章是根据
The Swift Programming Language
来总结的,今天就学习一下最基础的函数
用法,本文总结的是函数的声明
与使用
OC的方法声明与使用
1 | // 没有参数,没有返回值 |
Swift的函数声明与使用
函数的格式:
func 函数名(参数: 参数类型...) -> 返回值 { // 代码实现 }
没有返回值的时候,
-> 返回值
可以省略默认情况下,在调用函数时,第一个参数名是省略的
没有参数,没有返回值
1 | // 没有参数,没有返回值 |
声明一个参数的函数
1 | // 声明一个参数的函数 |
声明多个参数的函数
1 | // 声明多个参数的函数 |
_的作用
1 | // 当然,如果你觉得这样写不好,可以省略参数名,就是在声明函数的时候参数名前面加入下划线_,而且默认第一个已经省略了 |
有返回值,没有参数
1 | // 有返回值,没有参数 |
有返回值,有参数
1 | // 有返回值,有参数 |
嵌套函数
1 | // 嵌套函数 |
Swift的类型
函数类型:1、类似于C语言的指向函数的指针。2、类似OC语言的block。3、函数类型是由函数的参数类型和返回值类型组成的
先定义两个通用函数
1 | // 加法函数 |
利用函数类型定义函数变量和常量
1 | // 利用函数类型定义函数变量和常量 |
这里解释一下,可以理解为sum函数的声明,跟变量的类型声明必须一样,那就相当于变量funcSum就是函数sum了,所以funcSum = sum,就相当于funcSum是加法函数,得出的值是30.而funcSum = sub就相当于减法函数,的出来的值是-10.
函数类型可以作为函数的参数
1 | // 加法函数当做参数 |
1 | // 减法函数当做参数 |
可以理解为参数就是一个函数,但是参数的类型跟函数的类型必须一样,无论参数还是返回值,sum:(Int, Int) ->Int就是跟func sum(a: Int, b: Int) ->Int两个类型必须一样,总结一句话,就是函数就是一个参数
函数类型可以作为函数返回值
1 | func max(a: Int, b: Int) ->Int |
chooseFunc函数的返回值就是一个函数,而且他是根据参数getMax判断是否取最大还是最小,当true的时候取最大的函数max,也教师返回max函数,而max函数赋值给类型一样的变量chooseTrue,前面已经有例子,所以chooseTrue也就相当于max函数,调用chooseTrue函数就是max函数