函数重载
1.函数名相同
2.参数个数不同|参数类型不同|参数标签不同
注意:返回值类型和函数重载无关,我们不用看返回值类型
内联函数
将函数调用展开成函数体
哪些函数不会被内联?
1.函数体比较长
2.包含递归调用
3.包含动态派发
如下代码
func test() {
print("test")
}
test()
会直接调用print("test"),这样就减少了函数调用开销,不用再开辟回收test函数的栈空间了。
(联想:Dart中的箭头函数)
函数类型
每一个函数都是有类型的,函数类型由形式参数类型、返回值类型组成
1.函数类型可作为函数参数
如:
![](https://img.haomeiwen.com/i1154538/de874db5a04ae70a.jpg)
2.函数类型可作为函数返回值
如:
![](https://img.haomeiwen.com/i1154538/2d21abc58c9b5229.jpg)
嵌套函数
将函数定义在函数内部
![](https://img.haomeiwen.com/i1154538/6f6cffd41c009349.jpg)
类型起别名
typealias
![](https://img.haomeiwen.com/i1154538/44f886d05ac755e7.jpg)
网友评论