极客时间《Go进阶实战训练营》学习笔记 Day 17

129 阅读1分钟

AST

AST,即抽象语法树。它是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。

并发、反射和AST三者是构建复杂系统(中间件)的基石,真正的高级工具。

学习AST的目的:

  • 篡改源码
  • 代码生成:Go因为本身没有动态代理之类的工具,所以代码生成大行其道,非常流行

例子:

AST编程入门

image.png

image.png