闭包(Closure)
C 语言中的代码块
Objective-C中的block
JavaScript中的closure
一、闭包表达式简介
结构是怎么样的,不同的语言写法不一样
xxx
二、闭包捕获变量
1、 值捕获 +(可变)
2、 指针捕获
3、引用捕获
三、闭包用途
1. 作为函数参数:
可以将 lambda 表达式作为参数传递给其他函数,实现更加灵活的编程。
例如,在排序算法中,可以使用 lambda 表达式指定排序的规则。
2. 局部函数对象:
在局部作用域中创建函数对象,避免定义全局函数或成员函数。
可以提高代码的封装性和可读性。
3. 异步编程:
在异步操作中,闭包可以捕获上下文信息,以便在异步操作完成后进行正确的处理。
使得代码更加简洁、灵活和易于维护。
Last updated