第六章:函数(function)
注:本章算是swift的核心(个人感觉),先记住一个词语"一等公民(first-class function)"
和OC中的函数相比,首先我们要先知道函数的三个知识点
- 函数可以
赋值给变量
,也可以作为另外一个函数的参数
和返回值
func loveSomeBody(name:String) {
print("I love \(name)")
}
var loveSomeBodyFunc:((String) ->Void)?
///函数赋值给变量
loveSomeBodyFunc = loveSomeBody
loveSomeBodyFunc?("liaoWorking")//I love liaoWorking
///函数作为参数
func doSomeThing(things: ((String)-> Void)?) {
things?("NObody")
}
doSomeThing(things: loveSomeBodyFunc)///I love NObody
///函数作为返回值
func lovingYou() -> ((String) ->Void)?{
return loveSomeBody
}
loveSomeBodyFunc = lovingYou()
-
函数可以
捕获
其局部作用域之前的变量(同OC,不赘述)。 -
除了func创建函数
{}
也可以创建函数,这个叫闭包表达式
///常见的map用法,里面就用到了{} /// $0的含义后面再讲,一句话概况就是[闭包里面的默认值]。心急的话可以自己百度一下😆 [1, 2, 3, 4].map{$0 * 2}
网友评论