swift 之闭包的学习笔记
闭包 概念1、功能性子包含模块,可以再代码中被传递或者使用 2、类似OC中的block,或者c++中的lambdas表达式 3、函数是特殊的闭包表现形式: a、全局函数是一个有名字但不会捕获任何值的闭包 b、嵌套函数是一个有名字并可以捕获器封闭函数域内值得闭包 c、闭包表达式是一个利用轻量级语法所写,可以捕获其上下文中变量或常量值的没有名字的闭包 一、表达式语法:{(parameters)->returnType in statements} 例子: 参数类型推断:func sortFunc(a,b) -> Bool {return a > b} 参数名简写:arr6.sortInPlace{(
Trailing闭包:arr6.sortInPlace(<)//Trailing闭包 loop(arr6) 二、捕获(Capture):闭包可以在其定义的上下文中捕获常量或者变量,即使定义这些常量和变量的原作用域已经不存在,闭包依然可以在闭包函数体内引用和修改这些值Swift最简单的闭包形式是嵌套函数,也就是定义在其他函数体内的函数。嵌套函数可以捕获其外部函数所有的参数以及定义的常量和变量 闭包的引用类型:无论您将函数/闭包赋值给一个常量还是变量,你实际上都是将常量/变量的值设置为对应函数/闭包的引用。 备注: struct 值类型 copy 闭包 引用类型 传递的是地址 一份 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |