加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift 之闭包的学习笔记

发布时间:2020-12-14 01:42:53 所属栏目:百科 来源:网络整理
导读:闭包 概念 1、功能性子包含模块,可以再代码中被传递或者使用 2、类似OC中的block,或者c++中的lambdas表达式 3、函数是特殊的闭包表现形式: a、全局函数是一个有名字但不会捕获任何值的闭包 b、嵌套函数是一个有名字并可以捕获器封闭函数域内值得闭包 c、

闭包

概念

1、功能性子包含模块,可以再代码中被传递或者使用

2、类似OC中的block,或者c++中的lambdas表达式

3、函数是特殊的闭包表现形式:

a、全局函数是一个有名字但不会捕获任何值的闭包

b、嵌套函数是一个有名字并可以捕获器封闭函数域内值得闭包

c、闭包表达式是一个利用轻量级语法所写,可以捕获其上下文中变量或常量值的没有名字的闭包

一、表达式语法:

{(parameters)->returnType in statements}

例子:

参数类型推断:func sortFunc(a,b) -> Bool {return a > b}

参数名简写:arr6.sortInPlace{( 0< 1)}//参数名简写loop(arr6)

Trailing闭包:arr6.sortInPlace(<)//Trailing闭包

loop(arr6)

二、捕获(Capture):闭包可以在其定义的上下文中捕获常量或者变量,即使定义这些常量和变量的原作用域已经不存在,闭包依然可以在闭包函数体内引用和修改这些值

Swift最简单的闭包形式是嵌套函数,也就是定义在其他函数体内的函数。嵌套函数可以捕获其外部函数所有的参数以及定义的常量和变量

闭包的引用类型:无论您将函数/闭包赋值给一个常量还是变量,你实际上都是将常量/变量的值设置为对应函数/闭包的引用。

备注:

struct 值类型 copy

闭包 引用类型 传递的是地址 一份

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读