Swift 5.9 Macros 有哪些新更新
https://i-blog.csdnimg.cn/blog_migrate/aadffb113c7529bb0a991c3f73e8f846.gif前言
固然 Swift 6 已经在地平线上浮现,但 5.x 版本仍然有很多新功能-更简朴的 if 和 switch 用法、宏、非可复制范例、自界说 actor 执行器等等都将在 Swift 5.9 中推出,再次带来了一个巨大的更新。
Macros(宏)
Macros(宏)在 Swift 中被引入,此中 SE-0382、SE-0389 和 SE-0397 结合起来,允许我们在编译时创建可以或许转换语法的代码。
在像 C++ 这样的语言中,宏是一种对代码进行预处置处罚的方式,可以在代码被主编译器看到之前对其进行文本替换,从而天生那些你不想手动编写的代码。
Swift 的宏类似,但功能更强大,因此也更加复杂。还允许我们在编译前动态操作项目的 Swift 代码,从而在编译时注入额外的功能。
必要了解的关键信息
宏是安全的范例,不但仅是简朴的字符串替换,因此必要准确告诉宏它将处置处罚的数据。
在构建阶段作为外部程序运行,而且不属于主应用目标。
宏被分解为多个较小的范例,例如 ExpressionMacro 用于天生单个表达式,AccessorMacro 用于添加 getter和setter,ConformanceMacro 用于使范例符合某个协议。
宏与分析后的源代码一起工作,可以查询代码的各个部门,例如正在操作的属性的名称、范例,或者结构体内部的各种属性。
宏在一个沙盒中工作,只能在给定的数据上操作。
末了一个部门最重要,Swift 的宏支持是基于 Apple 的 SwiftSyntax 库构建的,用于理解和操作源代码。必须将其作为宏的依赖项添加到项目中。
环境准备
了解完 Swift 宏的基本信息之后,终于我们可以进入到实战环节了,工欲善其事必先利其器,首先我们必要做好以下准备
[*]macOS Ventura 13.3 以上操作系统
[*]Xcode 15 以上,本文使用的版本是15.0 beta (15A5160n)
[*]Swift 入门级语法(掌握 Hello World 的 4 种写法
页:
[1]