第六章:函数(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}复制代码