YongSir

专业程序员伪装者

swift-tip004 闭包closure面面观

闭包: 自包含的函数代码块,很像OC中的Block,可以被传递,作用往往是捕获与存储上下文中的变量或引用,实现对不在同一作用域内的数据的访问,从这个意义上来讲,只要能去访问到不是自己作用域内的函数,都可以算是闭包,比如:

  • 全局函数是一个有名字但不会捕获任何值得闭包,因为位于最外层,在一些语言中当成特殊的闭包;
  • 嵌套函数是一个有名字并可以捕获其外层作用域内值的闭包
  • 闭包表达式,是可以捕获上下文变量的匿名闭包