[swift 进阶]读书笔记-第六章:函数 C6P0_ 函数(总体介绍)

290 阅读1分钟

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