当前位置: 首页 > news >正文

swift-5-汇编分析闭包本质

一、枚举、结构体、类都定义方法

方法占用对象的内存么?

不占用

方法的本质就是函数

方法、函数都存放在代码段,因为方法都是公共的,不管 对象一还是对对象二调用都是一样的,所以放在代码段,但是每个对象的成员不一样所以放在每个对象的内存里面

二、闭包表达式

在Swift中,可以通过func定义一个函数,也可以通过闭包表达式定义一个函数
函数的表示
func sum(_ v1: Int, _ v2: Int) -> Int { v1 + v2 }
闭包的表示
var fn = {
(v1: Int, v2: Int) -> Int in
return v1 + v2
}
fn(10, 20)

{
(v1: Int, v2: Int) -> Int in
return v1 + v2 }(10, 20)



{
(参数列表) -> 返回值类型  in 函数体代码
}

三、闭包表达式的简写

四、尾随闭包

如果将一个很长的闭包表达式作为函数的最后一个实参,使用尾随闭包可以增强函数的可读性

尾随闭包是一个被书写在函数调用括号外面(后面)的闭包表达式

五、数组的排序

六、闭包忽略参数

func exec(fn: (Int, Int) -> Int) {
print(fn(1, 2))
}
exec {  ,  in 10 } // 10

自动推断类型

七、汇编分析闭包

http://www.dtcms.com/a/59778.html

相关文章:

  • 2025年基于Zabbix主动发现机制实现Nacos服务动态监控
  • vue3中使用h()函数加载elementPlus 组件
  • 3个 Vue Scoped 的核心原理
  • Python中的*args和**kwargs:灵活参数处理的完全指南
  • Spring Boot 本地缓存工具类设计与实现
  • 【数据结构与算法】Java描述:第三节:栈与队列
  • 《苍穹外卖》SpringBoot后端开发项目重点知识整理(DAY1 to DAY3)
  • DeepSeek:中国AGI先锋,用技术重塑通用人工智能的未来
  • WPF基础知识61-80
  • 【python】模块和包相关知识
  • cpu 多级缓存L1、L2、L3 与主存关系
  • Easysearch 使用 AWS S3 进行快照备份与还原:完整指南及常见错误排查
  • 渗透测试之利用sql拿shell(附完整流程+防御方案)【下】
  • 本地搭建DeepSeek R1模型 + 前端
  • docker compose 以redis为例
  • 【2025前端高频面试题——系列一之MVC和MVVM】
  • vue3组合式API怎么获取全局变量globalProperties
  • 机器学习:愚者未完成的诗篇(零)
  • c#面试题整理8
  • (更新完)LPZero: Language Model Zero-cost Proxy Search from Zero
  • 多Agent博弈的场景:博弈是策略选择和均衡问题
  • Docker参数,以及仓库搭建
  • [动手学习深度学习]12.权重衰退
  • 忘记dedecms后台超级管理员账号和密码的解决方案
  • MySQL表中数据基本操作
  • 【语料数据爬虫】Python爬虫|批量采集工作报告数据(1)
  • DeepSeek之后,Manus如何让AI长出「行动大脑」?(附邀请码等资料)
  • 【保姆级 HAL 库学习定时器】
  • AI大模型大规模应用下的又一次技术革命
  • Android设备是如何进入休眠的呢?